From 0a1a063415d6a09da9c9769e1f449fb95b0077e4 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Wed, 12 Nov 2014 06:39:01 +0100 Subject: [PATCH 1/3] Revert "Bare minimum to get the new bake module to compile with this old code" This reverts commit 1d4355bd735430fbcb79fbce8f22a6c187736578. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index ba25d9badb..6fd59348bd 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -73,8 +73,6 @@ namespace OpenSim.Region.Framework.Scenes public class ScenePresence : EntityBase, IScenePresence { - public bool Invisible = false; - // ~ScenePresence() // { // m_log.DebugFormat("[SCENE PRESENCE]: Destructor called on {0}", Name); From 640d2b0d5d82166cf4332b9db21ec814049c6334 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Wed, 12 Nov 2014 06:51:13 +0100 Subject: [PATCH 2/3] Update libOMV and fix XBakes dependencies. --- .../Linden/Caps/UploadBakedTextureModule.cs | 4 +- .../Interfaces/IBakedTextureModule.cs | 2 +- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 20480 bytes bin/OpenMetaverse.StructuredData.XML | 492 +- bin/OpenMetaverse.StructuredData.dll | Bin 114688 -> 106496 bytes bin/OpenMetaverse.XML | 41512 ++++++++-------- bin/OpenMetaverse.dll | Bin 1925120 -> 1806336 bytes bin/OpenMetaverse.dll.config | 8 +- bin/OpenMetaverseTypes.XML | 3829 +- bin/OpenMetaverseTypes.dll | Bin 122880 -> 110592 bytes 10 files changed, 22782 insertions(+), 23065 deletions(-) diff --git a/OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs index eca576dd76..3a7ed5774f 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs @@ -255,7 +255,7 @@ namespace OpenSim.Region.ClientStack.Linden if (m_BakedTextureModule != null) { - m_BakedTextureModule.Store(remoteClient.AgentId, cacheItems); + m_BakedTextureModule.Store(remoteClient.AgentId); p.Appearance.WearableCacheItemsDirty = true; } @@ -299,4 +299,4 @@ namespace OpenSim.Region.ClientStack.Linden } } -} \ No newline at end of file +} diff --git a/OpenSim/Region/Framework/Interfaces/IBakedTextureModule.cs b/OpenSim/Region/Framework/Interfaces/IBakedTextureModule.cs index af4b23d339..5b46c967dc 100644 --- a/OpenSim/Region/Framework/Interfaces/IBakedTextureModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IBakedTextureModule.cs @@ -14,7 +14,7 @@ namespace OpenSim.Services.Interfaces public interface IBakedTextureModule { WearableCacheItem[] Get(UUID id); - void Store(UUID id, WearableCacheItem[] data); + void Store(UUID id); void UpdateMeshAvatar(UUID id); } } diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 30b9c7b5a314ba9ea29fd73becae5facd5973446..052490d868ca3ddf1d37526c969c71321fbe43f2 100755 GIT binary patch delta 4112 zcmZWsYiv}<8U5zIcfB^gcm2TN#~Nd7ytc8;Bjy#G@G$S1hXFg#;=%$hwr}v-fLSlQ zP6!0b%ekt8DiTtq59QH{$WdB^6bg!HX=xM^A_cWSLVi%8NVOnRRH6uaX6~-Nri<>G z^PM^K&CK0z#!LLqEdC}t`^w7F^Zn~7@%f6R;xv{<6o9}Vd_HLa1n@NCAu3@vv+9gqxHt2jMxso4sMxP;C-OND*es`&m3eO$p)0^2=L9S9G=d=&)i@urBIoyP z((ni~Gx9F-De+m3M<)qhNXGDCZSU9tk zF!tw-76ZVmIS&XfM`ob)*fm_L1?2eE`pbAJmga8Kh|~$gOrWXSv(Wf;OSANW*`SdO z0C-FU6Wl;>ymN0DFVq{gxXK620Z9%JJmD97%>PW%U(fw>0eGG91|$%|JP57f`M~G` zfTcvRtC-i+Y(GL%&E4WxO*M7d_Cj0uMJbNm!k3HZb|nTk!8HI`Y}2yumgXMPLCvUG)y_tq@vSa?kve|FKgm-1pqRq zD*@qE0AFspC_leqD&bP+W^QS0w8l(D6yR8qK^UvDL=eWrZk2^sgZb4QzgGVcWrn&~ z1HsZ0)uyLZo1Ri_x?64ds@!tpGZ>Mz&i;vorE9@WuQ+C+MxduCyi&OH(!_$jKT6Sg z`5BQ^#dW4CPgNFPWwV=M9U4(z;}u?DiTZLDkXN)3mzmebQT5iH zHjSLxCM&VA$OdSp_DgY)EIq={Qv~DkTiYJxEHbLtw$K~eT z>s4(x+QOr>9AEuQc+;|Bw<1ng?KU(M8^1y+SaO6PnZwTm%C`b|{o}|`!wip0uFS4D zyp4A#mOQ|{kskxNg=W>83P}7)`A_&M@+-k|k!Z}iJ!zejkz$3@L^d&Vc{|UoA>v0p zLn;3$k9Ew&4=B&xU@E3A*2X7oY~$F_x+S^;{Rx|?nR@L1ETQO5SX4X2Ga9PBi?^P{ zkO&{{rt&A#M7Tepr6p5)wKg+NZ`)!TZK}N+hAqM|etvIA55lIw=7DWbijC)#4UgS{ z7U$My$o9{i|4g3h*$W}vqDZGRIsaTn7osXf_XX!!RNm!W&997csiTdO)J#WYo)}zGSqYM+cJ8K_2xdqeDE3B%=Wy#iGgZ zun3b;oJWJn=tUmA1W^1qf=eZQIsCz&Itpf+T7L8h`hr=eR^)T32XvyKSnkW{EXu6T zNYDUs)6C~h4X-#JYe?*;HF^{_SL7PsRcrKEQk%6H+AE0KI-m~=R&kkq6w}s zHMmcKCXymL&7;wDA0*QSQu7IQe7-ZziNeXjvl#5Pn0t9?;@+{n(0mp%!f8BnF~DM4 zWWDogVOa^km^@=Ql{+FK@aqSHGpQ(l7r%tY`BDVemm)lMODUSTr9AfNB{fb+y`#<- zRp55|OA)`L?g>-_MP|w!rB@V6v*N;i}p;C?!VBo zSGKd&v|7GI8wK8{dgU;?PxF8)Xn}GgM)zrz@*;acYn3bXfSQ4iknSkD+wclE(p>qs zbcgmSXW3SfVy8gH_RAy0Siisl;7;MJq@D6V;EyXKR7~fT>&(O6QT`4bR&D`50_L%6 z>B4yD^ND8^-wkozC&%4*2N$-N{@(lKN20S z)Q!}wbV%S)fv*Cy=nZuRkiU866#0cYxJe`kTTi(>EB*Qi#tQ@J=84{hmkSt)K&(De_gp*%9R6RH-Fo8eC9b? z-Sk%Wie=G_*V>${84o99=(<&Fr5k3eS!$TuoZOnCn3io7Gc%+oTDO^=2&cPYM+?ATxd(JCu9@jahkSe8`X_$;h_izmTw{#4`Kc z$@>+pz^W?NGq}x)pE9h1q|wc6ATc}cEUG=iPC3_WZ(HXR|8M4R@FUIxL&Z7L#fG8c kEa$VjtxiVceAYO;vhj}-JT>l5h))}a&E}B_LpA#U0Es2zH~;_u delta 5058 zcma)9dvKK16+icT?`E^f{WcFE#B2yL@30A=LC^#U&;TL`0TMwIV2e?bPqN|VX5FPy zix$-M!-^fNbZT{U>`W~d$4;j_YNt}i8MK{hM~6C2%Z&aZg>kAKmGpP-_iY|iY+Yv0 z{hi-A_ndQICrjoS%ba459$fy~<&CS!|9n77c@DFPVj!X(`N<+5_eh;fKA%YQ%wr=R z8+p4i{3N_@5tbgJe08KeqGgCe?j<(I?P68IPiMds#W&_Y#3}+kKnO)`?g>^F$oSgo z!K@+WPm7WIk}LzW-^4qHm?+d zWZaBs?(g&GvFDDD<};QqiRq;3L@E(ihfz#0SpiXc$J-@WSWr>5;%bA)$T1s~f?6{< z6E>$3B4j47#gJPR(OM3m9?!%zrwVLDH|lrT`fxR{KO}2_#adgtgly|h3Bpe6!?m81 z7{10yAFlI!#Bg;Vt`%>LXj~hx?rI$z9UV>7!!=@XBhdhmDuv*Nnlj}$jPnd$DJ;Zx zq`4urM5AzoIc6X%Sp{9%NA@$W7-4Ab*4B14i;%{;eQjUiAW@h3#6at1Uyj6M<)oGf|3I>w(x@ZX ziDXq=uBE`mU6GI|kB6LPo=FxQ@(M+MynwMZ68mW+9!vAJs~%r;`hTo?;*FH6mc-Ro z-7%pYiT!dU9xG>j)#Hm!i%s~Zt6n}Kjl_N$iO14>gH?|&IxX(%q_dv*#^kCcakW*i zm{5+yemN44m2y6Cb* zhZy=bp7v3V2sc}PA~BQ1>jcHsEGNI*cfL}x}iWn`IQ5)BtjUYsWmz~F)(0R-WoyYV$ zkKuKmc{uu@mF$9af+C=WHq>$s%M(2;AbXf+=0W*~L_X`uj5zSg%=od(<`J-x-SC+l z!DntowZWtpVxrS{2(L?6$=kdTn}mN2#AHTXO}`7dsiH=<*?qC-8pt=K{J5xW-DY?= z==QeIT}1O^Suxw-us#8$?9s`V1IaX9YZPa&GN?abeJG zby)Z&zYQT=Xif{)05T`5w-cq|QCBSkjl15Nb-gY;!4;ky(PZZ8J`vl1CeA3VRo^9a z6S+hi7tvd}#!Xq9NZQsdWNX*P)ZMWAZrtEz`oCP_sU2|9oqiF~(wzY@2K*^WG2IJ= zKV4q7r11B-oNVZz(am$r?v32))*S~98>PqO{K2?c2R8$50l3{W!A-A!|RCj|-)kE%AQ|r@$DvQllriRP__KT9cK-_I5 zc4H8~CiK)EAgol`Iu$0eFjjP~rPqP62&!1t+0l;iUFZkhzm}FV z=6+UM%AWwI;fwtj2SB-Q6a%0Ao;x-h&A1^#S;QB;_ZDn6<~;E|SXZLW+O+)a-VY z6|c{f3(E!e7EQ;0XGEJ6+P|m@^I}z=7GyE3w58V5_ObbtL!Z|PZ9g4jD=3d1Z4}xA zbb@svcT?>6iLy4vRQI!JX}W}+rl-|1)=RIbGuRxOr#?%)^gHz;&7qa*t8|v$Rhy9i zef1>pdEm43A>=$d!{Ssghs|DVeVOa4%V|YEb$A#o9O4-ODr8=XOQv|{ZacBN_huG z^w9;RtjFXxshmF5{>C^n^uI&q=`TS}gDgklkJ&c4j%~8&a@MRqPUS473)!NNvK?~& z%GsUjpQwu#=(Ch2wo0E3c`Iarw05Owi{7HFp`H3!T0?vEn}CxNcVffW(0+X>m<i@Vhh$7x854XL9YyFadPd4$NckJc0(xEFpq!?+^pkX&&P#b&-w8%BPU48qusupI zrNc@FL%xxLp+p+4g*;6$iRVkaMB-Z{-X!rhi5-dWmH2?fk4XH4#4kwvlEkMaepBMV zNco;|5m`P-8}}pq=aL$gPKGI}D>Q{UDse4vFU>aNU>1ToO)Dk80gO0^CzXIah&8}* zJdHQBSCvLQ#NR@e&>xh=c&7XCL=3v1Tqc|SnuV3ym4nKQ%F{IE1$vJ@q#Rbu=CXFS zmTh7C*=NjD+$$9^<>@Dn$7X)6&RgFX-xD8P+PgJQyT@RH26pwY9_;HEe1baHFLs>4 zZM1856Lms1<2&1}s;&;T_iY{Oa|U_`_w_Wp{nd5p#XI7?gR}(GfaI{q{Ys_P;cKrVnuu(t*7*9O8+yhOt${FnM z-9ZD*G%%ZPc6P^C#rFO#Jawn9?lcSST?((URKwn - /home/root/libomv-0.9.1-source/bin/OpenMetaverse.StructuredData + OpenMetaverse.StructuredData - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Uses reflection to create an SDMap from all of the SD - serializable types in an object - - Class or struct containing serializable types - An SDMap holding the serialized values from the - container object - - - - Uses reflection to deserialize member variables in an object from - an SDMap - - Reference to an object to fill with deserialized - values - Serialized values to put in the target - object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -153,8 +41,7 @@ Serializes OSD to binary format OSD to serialize - - + Serialized data @@ -169,209 +56,294 @@ Serializes OSD to binary format OSD to serialize - - + Serialized data + - - + + - - - - - - + + + + - - - - - - + + + + - - - - - - + + + + - - - - + + + - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - + + + - - - - + + + - - - - + + + - - - - + + + - - - - + + + - - - - + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Uses reflection to create an SDMap from all of the SD + serializable types in an object + + Class or struct containing serializable types + An SDMap holding the serialized values from the + container object + + + + Uses reflection to deserialize member variables in an object from + an SDMap + + Reference to an object to fill with deserialized + values + Serialized values to put in the target + object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index c7216ce176642ceb82ac8b1ae46a520f071119ce..ed613e710f0803df6ea03f2679ed6258d1caeb16 100755 GIT binary patch literal 106496 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 Ag#Z8m diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index 81cc005052..6e35a04482 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -1,9 +1,15212 @@ - /home/root/libomv-0.9.1-source/bin/OpenMetaverse + OpenMetaverse + + + Starts a thread that keeps the daemon running + + + + + + + Stops the daemon and the thread keeping it running + + + + + + + + + + + + + This is used to get a list of audio devices that can be used for capture (input) of voice. + + + + + + This is used to get a list of audio devices that can be used for render (playback) of voice. + + + + + This command is used to select the render device. + + The name of the device as returned by the Aux.GetRenderDevices command. + + + + This command is used to select the capture device. + + The name of the device as returned by the Aux.GetCaptureDevices command. + + + + This command is used to start the audio capture process which will cause + AuxAudioProperty Events to be raised. These events can be used to display a + microphone VU meter for the currently selected capture device. This command + should not be issued if the user is on a call. + + (unused but required) + + + + + This command is used to stop the audio capture process. + + + + + + This command is used to set the mic volume while in the audio tuning process. + Once an acceptable mic level is attained, the application must issue a + connector set mic volume command to have that level be used while on voice + calls. + + the microphone volume (-100 to 100 inclusive) + + + + + This command is used to set the speaker volume while in the audio tuning + process. Once an acceptable speaker level is attained, the application must + issue a connector set speaker volume command to have that level be used while + on voice calls. + + the speaker volume (-100 to 100 inclusive) + + + + + Create a Session + Sessions typically represent a connection to a media session with one or more + participants. This is used to generate an ‘outbound’ call to another user or + channel. The specifics depend on the media types involved. A session handle is + required to control the local user functions within the session (or remote + users if the current account has rights to do so). Currently creating a + session automatically connects to the audio media, there is no need to call + Session.Connect at this time, this is reserved for future use. + + Handle returned from successful Connector ‘create’ request + This is the URI of the terminating point of the session (ie who/what is being called) + This is the display name of the entity being called (user or channel) + Only needs to be supplied when the target URI is password protected + This indicates the format of the password as passed in. This can either be + “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is + “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, + then base64 encoded, with the final “=” character stripped off. + + + + + + + Used to accept a call + + SessionHandle such as received from SessionNewEvent + "default" + + + + + This command is used to start the audio render process, which will then play + the passed in file through the selected audio render device. This command + should not be issued if the user is on a call. + + The fully qualified path to the sound file. + True if the file is to be played continuously and false if it is should be played once. + + + + + This command is used to stop the audio render process. + + The fully qualified path to the sound file issued in the start render command. + + + + + This is used to ‘end’ an established session (i.e. hang-up or disconnect). + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + + + + + Set the combined speaking and listening position in 3D space. + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + Speaking position + Listening position + + + + + Set User Volume for a particular user. Does not affect how other users hear that user. + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + + The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume + + + + + Start up the Voice service. + + + + + Handle miscellaneous request status + + + + ///If something goes wrong, we log it. + + + + Cleanup oject resources + + + + + Request voice cap when changing regions + + + + + Handle a change in session state + + + + + Close a voice session + + + + + + Locate a Session context from its handle + + Creates the session context if it does not exist. + + + + Handle completion of main voice cap request. + + + + + + + + Daemon has started so connect to it. + + + + + The daemon TCP connection is open. + + + + + Handle creation of the Connector. + + + + + Handle response to audio output device query + + + + + Handle response to audio input device query + + + + + Set voice channel for new parcel + + + + + + Request info from a parcel capability Uri. + + + + + + Receive parcel voice cap + + + + + + + + Tell Vivox where we are standing + + This has to be called when we move or turn. + + + + Start and stop updating out position. + + + + + + This is used to login a specific user account(s). It may only be called after + Connector initialization has completed successfully + + Handle returned from successful Connector ‘create’ request + User's account name + User's account password + Values may be “AutoAnswer” or “VerifyAnswer” + "" + This is an integer that specifies how often + the daemon will send participant property events while in a channel. If this is not set + the default will be “on state change”, which means that the events will be sent when + the participant starts talking, stops talking, is muted, is unmuted. + The valid values are: + 0 – Never + 5 – 10 times per second + 10 – 5 times per second + 50 – 1 time per second + 100 – on participant state change (this is the default) + false + + + + + This is used to logout a user session. It should only be called with a valid AccountHandle. + + Handle returned from successful Connector ‘login’ request + + + + + This is used to initialize and stop the Connector as a whole. The Connector + Create call must be completed successfully before any other requests are made + (typically during application initialization). The shutdown should be called + when the application is shutting down to gracefully release resources + + A string value indicting the Application name + URL for the management server + LoggingSettings + + + + + + Shutdown Connector -- Should be called when the application is shutting down + to gracefully release resources + + Handle returned from successful Connector ‘create’ request + + + + Mute or unmute the microphone + + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) + + + + Mute or unmute the speaker + + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) + + + + Set microphone volume + + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume + + + + Set local speaker volume + + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume + + + + Event for most mundane request reposnses. + + + + Response to Connector.Create request + + + Response to Aux.GetCaptureDevices request + + + Response to Aux.GetRenderDevices request + + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter + + + Response to Account.Login request + + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another + + + + List of audio input devices + + + + + List of audio output devices + + + + + Set audio test mode + + + + Enable logging + + + The folder where any logs will be created + + + This will be prepended to beginning of each log file + + + The suffix or extension to be appended to each log file + + + + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug + + + + + Constructor for default logging settings + + + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Status of the last application run. + Used for error reporting to the grid login service for statistical purposes. + + + + Application exited normally + + + Application froze + + + Application detected error and exited abnormally + + + Other crash + + + Application froze during logout + + + Application crashed during logout + + + + Login Request Parameters + + + + The URL of the Login Server + + + The number of milliseconds to wait before a login is considered + failed due to timeout + + + The request method + login_to_simulator is currently the only supported method + + + The Agents First name + + + The Agents Last name + + + A md5 hashed password + plaintext password will be automatically hashed + + + The agents starting location once logged in + Either "last", "home", or a string encoded URI + containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + + A string containing the client software channel information + Second Life Release + + + The client software version information + The official viewer uses: Second Life Release n.n.n.n + where n is replaced with the current version of the viewer + + + A string containing the platform information the agent is running on + + + A string hash of the network cards Mac Address + + + Unknown or deprecated + + + A string hash of the first disk drives ID used to identify this clients uniqueness + + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string + + + A string representing the software creator. This is not directly sent to the login server but + is used by the library to generate the Version information + + + If true, this agent agrees to the Terms of Service of the grid its connecting to + + + Unknown + + + Status of the last application run sent to the grid login server for statistical purposes + + + An array of string sent to the login server to enable various options + + + A randomly generated ID to distinguish between login attempts. This value is only used + internally in the library and is never sent over the wire + + + + Default constuctor, initializes sane default values + + + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + URI of the login server + + + + The decoded data returned from the login server after a successful login + + + + true, false, indeterminate + + + Login message of the day + + + M or PG, also agent_region_access and agent_access_max + + + + Parse LLSD Login Reply Data + + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes + + + + Login Routines + + + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. + + + + The event subscribers, null of no subscribers + + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Seed CAPS URL returned from the login server + + + Maximum number of groups an agent can belong to, -1 for unlimited + + + Server side baking service URL + + + A list of packets obtained during the login process which + networkmanager will log but not process + + + + Generate sane default values for a login request + + Account first name + Account last name + Account password + Client application name (channel) + Client application name + version + A populated struct containing + sane defaults + + + + Simplified login that takes the most common and required fields + + Account first name + Account last name + Account password + Client application name (channel) + Client application name + version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error + + + + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password + + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name (channel) + Starting location URI that can be built with + StartLocation() + Client application name + version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error + + + + Login that takes a struct of all the values that will be passed to + the login server + + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error + + + + Build a start location URI for passing to the Login function + + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location + + + + LoginParams and the initial login XmlRpcRequest were made on a remote machine. + This method now initializes libomv with the results. + + + + + Handles response from XML-RPC login replies + + + + + Handles response from XML-RPC login replies with already parsed LoginResponseData + + + + + Handle response from LLSD login replies + + + + + + + + Get current OS + + Either "Win" or "Linux" + + + + Get clients default Mac Address + + A string containing the first found Mac Address + + + The event subscribers, null of no subscribers + + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + All of the simulators we are currently connected to + + + Handlers for incoming capability events + + + Handlers for incoming packets + + + Incoming packets that are awaiting handling + + + Outgoing packets that are awaiting handling + + + + Default constructor + + Reference to the GridClient object + + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received + + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously + + + + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type this callback is registered with + Callback to stop firing events for + + + + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received + + + + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + + Name of the CAPS event this callback is + registered with + Callback to stop firing events for + + + + Send a packet to the simulator the avatar is currently occupying + + Packet to send + + + + Send a packet to a specified simulator + + Packet to send + Simulator to send the packet to + + + + Connect to a simulator + + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null + + + + Connect to a simulator + + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null + + + + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down + + + + + Initiate the logout process. Check if logout succeeded with the + OnLogoutReply event, and if this does not fire the + Shutdown() function needs to be manually called + + + + + Close a connection to the given simulator + + + + + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + + Type of shutdown + + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + + Type of shutdown + Shutdown message + + + + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint + + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null + + + + Fire an event when an event queue connects for capabilities + + Simulator the event queue is attached to + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the simulator sends us data containing + ... + + + Called when a reply is received from the login server, the + login sequence will block until this event returns + + + Current state of logging in + + + Upon login failure, contains a short string key for the + type of login error that occurred + + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) + + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Unique identifier associated with our connections to + simulators + + + The simulator that the logged in avatar is currently + occupying + + + Shows whether the network layer is logged in to the + grid or not + + + Number of packets in the incoming queue + + + Number of packets in the outgoing queue + + + + + + + + + + + + + + Explains why a simulator or the grid disconnected from us + + + + The client requested the logout or simulator disconnect + + + The server notified us that it is disconnecting + + + Either a socket was closed or network traffic timed out + + + The last active simulator shut down + + + + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling + + + + Reference to the simulator that this packet came from + + + Packet that needs to be processed + + + + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending + + + + Reference to the simulator this packet is destined for + + + Packet that needs to be sent + + + Sequence number of the wrapped packet + + + Number of times this packet has been resent + + + Environment.TickCount when this packet was last sent over the wire + + + Type of the packet + + + + Registers, unregisters, and fires events generated by incoming packets + + + + Reference to the GridClient object + + + + Default constructor + + + + + + Register an event handler + + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous + + + + Unregister an event handler + + Packet type to unregister the handler for + Callback to be unregistered + + + + Fire the events registered for this packet type + + Incoming packet type + Incoming packet + Simulator this packet was received from + + + + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks + + + + Callback to fire for this packet + + + Reference to the simulator that this packet came from + + + The packet that needs to be processed + + + + Registers, unregisters, and fires events generated by the Capabilities + event queue + + + + Reference to the GridClient object + + + + Default constructor + + Reference to the GridClient object + + + + Register an new event handler for a capabilities event sent via the EventQueue + + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire + + + + Unregister a previously registered capabilities handler + + Capability event name unregister the + handler for + Callback to unregister + + + + Fire the events registered for this event type synchronously + + Capability name + Decoded event body + Reference to the simulator that + generated this event + + + + Fire the events registered for this event type asynchronously + + Capability name + Decoded event body + Reference to the simulator that + generated this event + + + + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks + + + + Callback to fire for this packet + + + Name of the CAPS event + + + Strongly typed decoded data + + + Reference to the simulator that generated this event + + + + Represends individual HTTP Download request + + + + URI of the item to fetch + + + Timout specified in milliseconds + + + Download progress callback + + + Download completed callback + + + Accept the following content type + + + How many times will this request be retried + + + Current fetch attempt + + + Default constructor + + + Constructor + + + + Manages async HTTP downloads with a limit on maximum + concurrent downloads + + + + Default constructor + + + Cleanup method + + + Setup http download request + + + Check the queue for pending work + + + Enqueue a new HTPP download + + + Maximum number of parallel downloads from a single endpoint + + + Client certificate + + + + Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + + + + + Rotation Keyframe count (used internally) + + + + + Position Keyframe count (used internally) + + + + + Animation Priority + + + + + The animation length in seconds. + + + + + Expression set in the client. Null if [None] is selected + + + + + The time in seconds to start the animation + + + + + The time in seconds to end the animation + + + + + Loop the animation + + + + + Meta data. Ease in Seconds. + + + + + Meta data. Ease out seconds. + + + + + Meta Data for the Hand Pose + + + + + Number of joints defined in the animation + + + + + Contains an array of joints + + + + + Searialize an animation asset into it's joints/keyframes/meta data + + + + + + Variable length strings seem to be null terminated in the animation asset.. but.. + use with caution, home grown. + advances the index. + + The animation asset byte array + The offset to start reading + a string + + + + Read in a Joint from an animation asset byte array + Variable length Joint fields, yay! + Advances the index + + animation asset byte array + Byte Offset of the start of the joint + The Joint data serialized into the binBVHJoint structure + + + + Read Keyframes of a certain type + advance i + + Animation Byte array + Offset in the Byte Array. Will be advanced + Number of Keyframes + Scaling Min to pass to the Uint16ToFloat method + Scaling Max to pass to the Uint16ToFloat method + + + + + Determines whether the specified is equal to the current . + + + true if the specified is equal to the current ; otherwise, false. + + The to compare with the current . + The parameter is null. + 2 + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + A Joint and it's associated meta data and keyframes + + + + + Indicates whether this instance and a specified object are equal. + + + true if and this instance are the same type and represent the same value; otherwise, false. + + Another object to compare to. + 2 + + + + Returns the hash code for this instance. + + + A 32-bit signed integer that is the hash code for this instance. + + 2 + + + + Name of the Joint. Matches the avatar_skeleton.xml in client distros + + + + + Joint Animation Override? Was the same as the Priority in testing.. + + + + + Array of Rotation Keyframes in order from earliest to latest + + + + + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? + + + + + Custom application data that can be attached to a joint + + + + + A Joint Keyframe. This is either a position or a rotation. + + + + + Either a Vector3 position or a Vector3 Euler rotation + + + + + Poses set in the animation metadata for the hands. + + + + Information about agents display name + + + Agent UUID + + + Username + + + Display name + + + First name (legacy) + + + Last name (legacy) + + + Is display name default display name + + + Cache display name until + + + Last updated timestamp + + + + Creates AgentDisplayName object from OSD + + Incoming OSD data + AgentDisplayName object + + + + Return object as OSD map + + OSD containing agent's display name data + + + Full name (legacy) + + + + Holds group information for Avatars such as those you might find in a profile + + + + true of Avatar accepts group notices + + + Groups Key + + + Texture Key for groups insignia + + + Name of the group + + + Powers avatar has in the group + + + Avatars Currently selected title + + + true of Avatar has chosen to list this in their profile + + + + Contains an animation currently being played by an agent + + + + The ID of the animation asset + + + A number to indicate start order of currently playing animations + On Linden Grids this number is unique per region, with OpenSim it is per client + + + + + + + Holds group information on an individual profile pick + + + + + Retrieve friend status notifications, and retrieve avatar names and + profiles + + + + The event subscribers, null of no subscribers + + + Raises the AvatarAnimation Event + An AvatarAnimationEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarPickerReply Event + A AvatarPickerReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ViewerEffectPointAt Event + A ViewerEffectPointAtEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ViewerEffectLookAt Event + A ViewerEffectLookAtEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarPicksReply Event + A AvatarPicksReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the PickInfoReply Event + A PickInfoReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarClassifiedReply Event + A AvatarClassifiedReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the DisplayNameUpdate Event + A DisplayNameUpdateEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + + Represents other avatars + + + + + Tracks the specified avatar on your map + Avatar ID to track + + + + Request a single avatar name + + The avatar key to retrieve a name for + + + + Request a list of avatar names + + The avatar keys to retrieve names for + + + + Check if Display Names functionality is available + + True if Display name functionality is available + + + + Request retrieval of display names (max 90 names per request) + + List of UUIDs to lookup + Callback to report result of the operation + + + + Start a request for Avatar Properties + + + + + + Search for an avatar (first name, last name) + + The name to search for + An ID to associate with this query + + + + Start a request for Avatar Picks + + UUID of the avatar + + + + Start a request for Avatar Classifieds + + UUID of the avatar + + + + Start a request for details of a specific profile pick + + UUID of the avatar + UUID of the profile pick + + + + Start a request for details of a specific profile classified + + UUID of the avatar + UUID of the profile classified + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + EQ Message fired when someone nearby changes their display name + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet + + + + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the simulator sends us data containing + an agents animation playlist + + + Raised when the simulator sends us data containing + the appearance information for an agent + + + Raised when the simulator sends us data containing + agent names/id values + + + Raised when the simulator sends us data containing + the interests listed in an agents profile + + + Raised when the simulator sends us data containing + profile property information for an agent + + + Raised when the simulator sends us data containing + the group membership an agent is a member of + + + Raised when the simulator sends us data containing + name/id pair + + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at + + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at + + + Raised when the simulator sends us data containing + an agents viewer effect information + + + Raised when the simulator sends us data containing + the top picks from an agents profile + + + Raised when the simulator sends us data containing + the Pick details + + + Raised when the simulator sends us data containing + the classified ads an agent has placed + + + Raised when the simulator sends us data containing + the details of a classified ad + + + Raised when the simulator sends us data containing + the details of display name change + + + + Callback giving results when fetching display names + + If the request was successful + Array of display names + Array of UUIDs that could not be fetched + + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent + + The following code example uses the and + properties to display the animation playlist of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + // create a dictionary of "known" animations from the Animations class using System.Reflection + Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); + Type type = typeof(Animations); + System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + foreach (System.Reflection.FieldInfo field in fields) + { + systemAnimations.Add((UUID)field.GetValue(type), field.Name); + } + + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + + + + + + Construct a new instance of the AvatarAnimationEventArgs class + + The ID of the agent + The list of animations to start + + + Get the ID of the agent + + + Get the list of animations to start + + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + + + + + Construct a new instance of the AvatarAppearanceEventArgs class + + The simulator request was from + The ID of the agent + true of the agent is a trial account + The default agent texture + The agents appearance layer textures + The for the agent + + + Get the Simulator this request is from of the agent + + + Get the ID of the agent + + + true if the agent is a trial account + + + Get the default agent texture + + + Get the agents appearance layer textures + + + Get the for the agent + + + Version of the appearance system used. + Value greater than 0 indicates that server side baking is used + + + Version of the Current Outfit Folder the appearance is based on + + + Appearance flags, introduced with server side baking, currently unused + + + Represents the interests from the profile of an agent + + + Get the ID of the agent + + + The properties of an agent + + + Get the ID of the agent + + + Get the ID of the agent + + + Get the ID of the agent + + + Get the ID of the avatar + + + + Event args class for display name notification messages + + + + + A linkset asset, containing a parent primitive and zero or more children + + + + + Base class for all Asset types + + + + A byte array containing the raw asset data + + + True if the asset it only stored on the server temporarily + + + A unique ID + + + + Construct a new Asset object + + + + + Construct a new Asset object + + A unique specific to this asset + A byte array containing the raw asset data + + + + Regenerates the AssetData byte array from the properties + of the derived class. + + + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false + + + The assets unique ID + + + + The "type" of asset, Notecard, Animation, etc + + + + Initializes a new instance of an AssetPrim object + + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data + + + + + + + + + + + + + + Override the base classes AssetType + + + + Only used internally for XML serialization/deserialization + + + + + The deserialized form of a single primitive in a linkset asset + + + + Describes tasks returned in LandStatReply + + + + Estate level administration and utilities + + + + Textures for each of the four terrain height levels + + + Upper/lower texture boundaries for each corner of the sim + + + + Constructor for EstateTools class + + + + + The event subscribers. null if no subcribers + + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + + Requests estate information such as top scripts and colliders + + + + + + + + Requests estate settings, including estate manager and access/ban lists + + + Requests the "Top Scripts" list for the current region + + + Requests the "Top Colliders" list for the current region + + + + Set several estate specific configuration variables + + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + + + + Request return of objects owned by specified avatar + + The Agents owning the primitives to return + specify the coverage and type of objects to be included in the return + true to perform return on entire estate + + + + + + + + + Used for setting and retrieving various estate panel settings + + EstateOwnerMessage Method field + List of parameters to include + + + + Kick an avatar from an estate + + Key of Agent to remove + + + + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner + + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner + + + + Send a message dialog to everyone in an entire estate + + Message to send all users in the estate + + + + Send a message dialog to everyone in a simulator + + Message to send all users in the simulator + + + + Send an avatar back to their home location + + Key of avatar to send home + + + + Begin the region restart process + + + + + Cancels a region restart + + + + Estate panel "Region" tab settings + + + Estate panel "Debug" tab settings + + + Used for setting the region's terrain textures for its four height levels + + + + + + + Used for setting sim terrain texture heights + + + Requests the estate covenant + + + + Upload a terrain RAW file + + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request + + + + Teleports all users home in current Estate + + + + + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner + + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner + + + + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true + + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true + + + + + Add's a group to the estate Allowed list + Key of Group to Add + Add Group as an allowed group to All estates if true + + + + + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Used in the ReportType field of a LandStatRequest + + + Used by EstateOwnerMessage packets + + + Used by EstateOwnerMessage packets + + + + + + + + No flags set + + + Only return targets scripted objects + + + Only return targets objects if on others land + + + Returns target's scripted objects and objects on other parcels + + + Ground texture settings for each corner of the region + + + Used by GroundTextureHeightSettings + + + The high and low texture thresholds for each corner of the sim + + + Raised on LandStatReply when the report type is for "top colliders" + + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply + + + + The number of returned items in LandStatReply + + + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + + + + Raised on LandStatReply when the report type is for "top Scripts" + + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply + + + + The number of scripts returned in LandStatReply + + + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + + + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateBansReplyEventArgs class + The estate's identifier on the grid + The number of returned items in LandStatReply + User UUIDs banned + + + + The identifier of the estate + + + + + The number of returned itmes + + + + + List of UUIDs of Banned Users + + + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs + + + + The identifier of the estate + + + + + The number of returned items + + + + + List of UUIDs of Allowed Users + + + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs + + + + The identifier of the estate + + + + + The number of returned items + + + + + List of UUIDs of Allowed Groups + + + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs + + + + The identifier of the estate + + + + + The number of returned items + + + + + List of UUIDs of the Estate's Managers + + + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateCovenantReplyEventArgs class + The Covenant ID + The timestamp + The estate's name + The Estate Owner's ID (can be a GroupID) + + + + The Covenant + + + + + The timestamp + + + + + The Estate name + + + + + The Estate Owner's ID (can be a GroupID) + + + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + + + + + The estate's name + + + + + The Estate Owner's ID (can be a GroupID) + + + + + The identifier of the estate on the grid + + + + + + + + Manager class for our own avatar + + + + The event subscribers. null if no subcribers + + + Raises the ChatFromSimulator event + A ChatEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ScriptDialog event + A SctriptDialogEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ScriptQuestion event + A ScriptQuestionEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the LoadURL event + A LoadUrlEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the MoneyBalance event + A BalanceEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the MoneyBalanceReply event + A MoneyBalanceReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the IM event + A InstantMessageEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the TeleportProgress event + A TeleportEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AgentDataReply event + A AgentDataReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AnimationsChanged event + A AnimationsChangedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the MeanCollision event + A MeanCollisionEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the RegionCrossed event + A RegionCrossedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupChatJoined event + A GroupChatJoinedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AlertMessage event + A AlertMessageEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ScriptControlChange event + A ScriptControlEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the CameraConstraint event + A CameraConstraintEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ScriptSensorReply event + A ScriptSensorReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AvatarSitResponse event + A AvatarSitResponseEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ChatSessionMemberAdded event + A ChatSessionMemberAddedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ChatSessionMemberLeft event + A ChatSessionMemberLeftEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SetDisplayNameReply Event + A SetDisplayNameReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the MuteListUpdated event + A EventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Reference to the GridClient instance + + + Used for movement and camera tracking + + + Currently playing animations for the agent. Can be used to + check the current movement status such as walking, hovering, aiming, + etc. by checking against system animations found in the Animations class + + + Dictionary containing current Group Chat sessions and members + + + Dictionary containing mute list keyead on mute name and key + + + Various abilities and preferences sent by the grid + + + + Constructor, setup callbacks for packets related to our avatar + + A reference to the Class + + + + Send a text message from the Agent to the Simulator + + A containing the message + The channel to send the message on, 0 is the public channel. Channels above 0 + can be used however only scripts listening on the specified channel will see the message + Denotes the type of message being sent, shout, whisper, etc. + + + + Request any instant messages sent while the client was offline to be resent. + + + + + Send an Instant Message to another Avatar + + The recipients + A containing the message to send + + + + Send an Instant Message to an existing group chat or conference chat + + The recipients + A containing the message to send + IM session ID (to differentiate between IM windows) + + + + Send an Instant Message + + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + IDs of sessions for a conference + + + + Send an Instant Message + + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + Type of instant message to send + Whether to IM offline avatars as well + Senders Position + RegionID Sender is In + Packed binary data that is specific to + the dialog type + + + + Send an Instant Message to a group + + of the group to send message to + Text Message being sent. + + + + Send an Instant Message to a group the agent is a member of + + The name this IM will show up as being from + of the group to send message to + Text message being sent + + + + Send a request to join a group chat session + + of Group to leave + + + + Exit a group chat session. This will stop further Group chat messages + from being sent until session is rejoined. + + of Group chat session to leave + + + + Reply to script dialog questions. + + Channel initial request came on + Index of button you're "clicking" + Label of button you're "clicking" + of Object that sent the dialog request + + + + + Accept invite for to a chatterbox session + + of session to accept invite to + + + + Start a friends conference + + List of UUIDs to start a conference with + the temportary session ID returned in the callback> + + + + Start a particle stream between an agent and an object + + Key of the source agent + Key of the target object + + The type from the enum + A unique for this effect + + + + Start a particle stream between an agent and an object + + Key of the source agent + Key of the target object + A representing the beams offset from the source + A which sets the avatars lookat animation + of the Effect + + + + Create a particle beam between an avatar and an primitive + + The ID of source avatar + The ID of the target primitive + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam + + + + + Create a particle swirl around a target position using a packet + + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam + + + + Sends a request to sit on the specified object + + of the object to sit on + Sit at offset + + + + Follows a call to to actually sit on the object + + + + Stands up from sitting on a prim or the ground + true of AgentUpdate was sent + + + + Does a "ground sit" at the avatar's current position + + + + + Starts or stops flying + + True to start flying, false to stop flying + + + + Starts or stops crouching + + True to start crouching, false to stop crouching + + + + Starts a jump (begin holding the jump key) + + + + + Use the autopilot sim function to move the avatar to a new + position. Uses double precision to get precise movements + + The z value is currently not handled properly by the simulator + Global X coordinate to move to + Global Y coordinate to move to + Z coordinate to move to + + + + Use the autopilot sim function to move the avatar to a new position + + The z value is currently not handled properly by the simulator + Integer value for the global X coordinate to move to + Integer value for the global Y coordinate to move to + Floating-point value for the Z coordinate to move to + + + + Use the autopilot sim function to move the avatar to a new position + + The z value is currently not handled properly by the simulator + Integer value for the local X coordinate to move to + Integer value for the local Y coordinate to move to + Floating-point value for the Z coordinate to move to + + + Macro to cancel autopilot sim function + Not certain if this is how it is really done + true if control flags were set and AgentUpdate was sent to the simulator + + + + Grabs an object + + an unsigned integer of the objects ID within the simulator + + + + + Overload: Grab a simulated object + + an unsigned integer of the objects ID within the simulator + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space + + + + Drag an object + + of the object to drag + Drag target in region coordinates + + + + Overload: Drag an object + + of the object to drag + Drag target in region coordinates + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space + + + + Release a grabbed object + + The Objects Simulator Local ID + + + + + + + Release a grabbed object + + The Objects Simulator Local ID + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space + + + + Touches an object + + an unsigned integer of the objects ID within the simulator + + + + + Request the current L$ balance + + + + + Give Money to destination Avatar + + UUID of the Target Avatar + Amount in L$ + + + + Give Money to destination Avatar + + UUID of the Target Avatar + Amount in L$ + Description that will show up in the + recipients transaction history + + + + Give L$ to an object + + object to give money to + amount of L$ to give + name of object + + + + Give L$ to a group + + group to give money to + amount of L$ to give + + + + Give L$ to a group + + group to give money to + amount of L$ to give + description of transaction + + + + Pay texture/animation upload fee + + + + + Pay texture/animation upload fee + + description of the transaction + + + + Give Money to destination Object or Avatar + + UUID of the Target Object/Avatar + Amount in L$ + Reason (Optional normally) + The type of transaction + Transaction flags, mostly for identifying group + transactions + + + + Plays a gesture + + Asset of the gesture + + + + Mark gesture active + + Inventory of the gesture + Asset of the gesture + + + + Mark gesture inactive + + Inventory of the gesture + + + + Send an AgentAnimation packet that toggles a single animation on + + The of the animation to start playing + Whether to ensure delivery of this packet or not + + + + Send an AgentAnimation packet that toggles a single animation off + + The of a + currently playing animation to stop playing + Whether to ensure delivery of this packet or not + + + + Send an AgentAnimation packet that will toggle animations on or off + + A list of animation s, and whether to + turn that animation on or off + Whether to ensure delivery of this packet or not + + + + Teleports agent to their stored home location + + true on successful teleport to home location + + + + Teleport agent to a landmark + + of the landmark to teleport agent to + true on success, false on failure + + + + Attempt to look up a simulator name and teleport to the discovered + destination + + Region name to look up + Position to teleport to + True if the lookup and teleport were successful, otherwise + false + + + + Attempt to look up a simulator name and teleport to the discovered + destination + + Region name to look up + Position to teleport to + Target to look at + True if the lookup and teleport were successful, otherwise + false + + + + Teleport agent to another region + + handle of region to teleport agent to + position in destination sim to teleport to + true on success, false on failure + This call is blocking + + + + Teleport agent to another region + + handle of region to teleport agent to + position in destination sim to teleport to + direction in destination sim agent will look at + true on success, false on failure + This call is blocking + + + + Request teleport to a another simulator + + handle of region to teleport agent to + position in destination sim to teleport to + + + + Request teleport to a another simulator + + handle of region to teleport agent to + position in destination sim to teleport to + direction in destination sim agent will look at + + + + Teleport agent to a landmark + + of the landmark to teleport agent to + + + + Send a teleport lure to another avatar with default "Join me in ..." invitation message + + target avatars to lure + + + + Send a teleport lure to another avatar with custom invitation message + + target avatars to lure + custom message to send with invitation + + + + Respond to a teleport lure by either accepting it and initiating + the teleport, or denying it + + of the avatar sending the lure + IM session of the incoming lure request + true to accept the lure, false to decline it + + + + Update agent profile + + struct containing updated + profile information + + + + Update agents profile interests + + selection of interests from struct + + + + Set the height and the width of the client window. This is used + by the server to build a virtual camera frustum for our avatar + + New height of the viewer window + New width of the viewer window + + + + Request the list of muted objects and avatars for this agent + + + + + Mute an object, resident, etc. + + Mute type + Mute UUID + Mute name + + + + Mute an object, resident, etc. + + Mute type + Mute UUID + Mute name + Mute flags + + + + Unmute an object, resident, etc. + + Mute UUID + Mute name + + + + Sets home location to agents current position + + will fire an AlertMessage () with + success or failure message + + + + Move an agent in to a simulator. This packet is the last packet + needed to complete the transition in to a new simulator + + Object + + + + Reply to script permissions request + + Object + of the itemID requesting permissions + of the taskID requesting permissions + list of permissions to allow + + + + Respond to a group invitation by either accepting or denying it + + UUID of the group (sent in the AgentID field of the invite message) + IM Session ID from the group invitation message + Accept the group invitation or deny it + + + + Requests script detection of objects and avatars + + name of the object/avatar to search for + UUID of the object or avatar to search for + Type of search from ScriptSensorTypeFlags + range of scan (96 max?) + the arc in radians to search within + an user generated ID to correlate replies with + Simulator to perform search in + + + + Create or update profile pick + + UUID of the pick to update, or random UUID to create a new pick + Is this a top pick? (typically false) + UUID of the parcel (UUID.Zero for the current parcel) + Name of the pick + Global position of the pick landmark + UUID of the image displayed with the pick + Long description of the pick + + + + Delete profile pick + + UUID of the pick to delete + + + + Create or update profile Classified + + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Global position of the classified landmark + Name of the classified + Long description of the classified + if true, auto renew classified after expiration + + + + Create or update profile Classified + + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Name of the classified + Long description of the classified + if true, auto renew classified after expiration + + + + Delete a classified ad + + The classified ads ID + + + + Fetches resource usage by agents attachmetns + + Called when the requested information is collected + + + + Initates request to set a new display name + + Previous display name + Desired new display name + + + + Tells the sim what UI language is used, and if it's ok to share that with scripts + + Two letter language code + Share language info with scripts + + + + Take an incoming ImprovedInstantMessage packet, auto-parse, and if + OnInstantMessage is defined call that with the appropriate arguments + + The sender + The EventArgs object containing the packet data + + + + Take an incoming Chat packet, auto-parse, and if OnChat is defined call + that with the appropriate arguments. + + The sender + The EventArgs object containing the packet data + + + + Used for parsing llDialogs + + The sender + The EventArgs object containing the packet data + + + + Used for parsing llRequestPermissions dialogs + + The sender + The EventArgs object containing the packet data + + + + Handles Script Control changes when Script with permissions releases or takes a control + + The sender + The EventArgs object containing the packet data + + + + Used for parsing llLoadURL Dialogs + + The sender + The EventArgs object containing the packet data + + + + Update client's Position, LookAt and region handle from incoming packet + + The sender + The EventArgs object containing the packet data + This occurs when after an avatar moves into a new sim + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + EQ Message fired with the result of SetDisplayName request + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet + + + + Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. + + The Message Key + An IMessage object Deserialized from the recieved message event + The simulator originating the event message + + + + Process TeleportFinish from Event Queue and pass it onto our TeleportHandler + + The message system key for this event + IMessage object containing decoded data from OSD + The simulator originating the event message + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + This packet is now being sent via the EventQueue + + + + Group Chat event handler + + The capability Key + IMessage object containing decoded data from OSD + + + + + Response from request to join a group chat + + + IMessage object containing decoded data from OSD + + + + + Someone joined or left group chat + + + IMessage object containing decoded data from OSD + + + + + Handle a group chat Invitation + + Caps Key + IMessage object containing decoded data from OSD + Originating Simulator + + + + Moderate a chat session + + the of the session to moderate, for group chats this will be the groups UUID + the of the avatar to moderate + Either "voice" to moderate users voice, or "text" to moderate users text session + true to moderate (silence user), false to allow avatar to speak + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when a scripted object or agent within range sends a public message + + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to + + + Raised when an object requests a change in the permissions an agent has permitted + + + Raised when a script requests an agent open the specified URL + + + Raised when an agents currency balance is updated + + + Raised when a transaction occurs involving currency such as a land purchase + + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived + + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request + + + Raised when a simulator sends agent specific information for our avatar. + + + Raised when our agents animation playlist changes + + + Raised when an object or avatar forcefully collides with our agent + + + Raised when our agent crosses a region border into another region + + + Raised when our agent succeeds or fails to join a group chat session + + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access + + + Raised when a script attempts to take or release specified controls for our agent + + + Raised when the simulator detects our agent is trying to view something + beyond its limits + + + Raised when a script sensor reply is received from a simulator + + + Raised in response to a request + + + Raised when an avatar enters a group chat session we are participating in + + + Raised when an agent exits a group chat session we are participating in + + + Raised when the simulator sends us data containing + the details of display name change + + + Raised when a scripted object or agent within range sends a public message + + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing + + + Temporary assigned to this session, used for + verifying our identity in packets + + + Shared secret that is never sent over the wire + + + Your (client) avatar ID, local to the current region/sim + + + Where the avatar started at login. Can be "last", "home" + or a login + + + The access level of this agent, usually M or PG + + + The CollisionPlane of Agent + + + An representing the velocity of our agent + + + An representing the acceleration of our agent + + + A which specifies the angular speed, and axis about which an Avatar is rotating. + + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. + + + LookAt point saved/restored with HomePosition + + + Avatar First Name (i.e. Philip) + + + Avatar Last Name (i.e. Linden) + + + Avatar Full Name (i.e. Philip Linden) + + + Gets the health of the agent + + + Gets the current balance of the agent + + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting + + + Gets the of the agents active group. + + + Gets the Agents powers in the currently active group + + + Current status message for teleporting + + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something + + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something + + + Current position of the agent in the simulator + + + + A representing the agents current rotation + + + + Returns the global grid position of the avatar + + + + Used to specify movement actions for your agent + + + + Empty flag + + + Move Forward (SL Keybinding: W/Up Arrow) + + + Move Backward (SL Keybinding: S/Down Arrow) + + + Move Left (SL Keybinding: Shift-(A/Left Arrow)) + + + Move Right (SL Keybinding: Shift-(D/Right Arrow)) + + + Not Flying: Jump/Flying: Move Up (SL Keybinding: E) + + + Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) + + + Unused + + + Unused + + + Unused + + + Unused + + + ORed with AGENT_CONTROL_AT_* if the keyboard is being used + + + ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used + + + ORed with AGENT_CONTROL_UP_* if the keyboard is being used + + + Fly + + + + + + Finish our current animation + + + Stand up from the ground or a prim seat + + + Sit on the ground at our current location + + + Whether mouselook is currently enabled + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + + + + + + + Set when the avatar is idled or set to away. Note that the away animation is + activated separately from setting this flag + + + + + + + + + + + + + + + + Agent movement and camera control + + Agent movement is controlled by setting specific + After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags + This is most easily accomplished by setting one or more of the AgentMovement properties + + Movement of an avatar is always based on a compass direction, for example AtPos will move the + agent from West to East or forward on the X Axis, AtNeg will of course move agent from + East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis + The Z axis is Up, finer grained control of movements can be done using the Nudge properties + + + + Agent camera controls + + + Currently only used for hiding your group title + + + Action state of the avatar, which can currently be + typing and editing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Timer for sending AgentUpdate packets + + + Default constructor + + + + Send an AgentUpdate with the camera set at the current agent + position and pointing towards the heading specified + + Camera rotation in radians + Whether to send the AgentUpdate reliable + or not + + + + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar + + Region coordinates to turn toward + + + + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar + + Region coordinates to turn toward + whether to send update or not + + + + Send new AgentUpdate packet to update our current camera + position and rotation + + + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet + + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet + Simulator to send the update to + + + + Builds an AgentUpdate packet entirely from parameters. This + will not touch the state of Self.Movement or + Self.Movement.Camera in any way + + + + + + + + + + + + + + + + Sends update of Field of Vision vertical angle to the simulator + + Angle in radians + + + Move agent positive along the X axis + + + Move agent negative along the X axis + + + Move agent positive along the Y axis + + + Move agent negative along the Y axis + + + Move agent positive along the Z axis + + + Move agent negative along the Z axis + + + + + + + + + + + + + + + + + + + + + + + + Causes simulator to make agent fly + + + Stop movement + + + Finish animation + + + Stand up from a sit + + + Tells simulator to sit agent on ground + + + Place agent into mouselook mode + + + Nudge agent positive along the X axis + + + Nudge agent negative along the X axis + + + Nudge agent positive along the Y axis + + + Nudge agent negative along the Y axis + + + Nudge agent positive along the Z axis + + + Nudge agent negative along the Z axis + + + + + + + + + Tell simulator to mark agent as away + + + + + + + + + + + + + + + + Returns "always run" value, or changes it by sending a SetAlwaysRunPacket + + + + The current value of the agent control flags + + + Gets or sets the interval in milliseconds at which + AgentUpdate packets are sent to the current simulator. Setting + this to a non-zero value will also enable the packet sending if + it was previously off, and setting it to zero will disable + + + Gets or sets whether AgentUpdate packets are sent to + the current simulator + + + Reset movement controls every time we send an update + + + + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets + + + + + + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens + + + + Default constructor + + + + + + + + + + + + + + + + + Called once attachment resource usage information has been collected + + Indicates if operation was successfull + Attachment resource usage information + + + + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. + + + + + Represents a Wearable Asset, Clothing, Hair, Skin, Etc + + + + A string containing the name of the asset + + + A string containing a short description of the asset + + + The Assets WearableType + + + The For-Sale status of the object + + + An Integer representing the purchase price of the asset + + + The of the assets creator + + + The of the assets current owner + + + The of the assets prior owner + + + The of the Group this asset is set to + + + True if the asset is owned by a + + + The Permissions mask of the asset + + + A Dictionary containing Key/Value pairs of the objects parameters + + + A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures + + + Initializes a new instance of an AssetWearable object + + + Initializes a new instance of an AssetWearable object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + + Decode an assets byte encoded data to a string + + true if the asset data was decoded successfully + + + + Encode the assets string represantion into a format consumable by the asset server + + + + Initializes a new instance of an AssetScriptBinary object + + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + + + + + + + + + + + + + + + + + + Thrown when a packet could not be successfully deserialized + + + + + Default constructor + + + + + Constructor that takes an additional error message + + An error message to attach to this exception + + + + The header of a message template packet. Holds packet flags, sequence + number, packet ID, and any ACKs that will be appended at the end of + the packet + + + + + Convert the AckList to a byte array, used for packet serializing + + Reference to the target byte array + Beginning position to start writing to in the byte + array, will be updated with the ending position of the ACK list + + + + + + + + + + + + + + + + + + + + + A block of data in a packet. Packets are composed of one or more blocks, + each block containing one or more fields + + + + + Create a block from a byte array + + Byte array containing the serialized block + Starting position of the block in the byte array. + This will point to the data after the end of the block when the + call returns + + + + Serialize this block into a byte array + + Byte array to serialize this block into + Starting position in the byte array to serialize to. + This will point to the position directly after the end of the + serialized block when the call returns + + + Current length of the data in this packet + + + A generic value, not an actual packet type + + + + Attempts to convert an LLSD structure to a known Packet type + + Event name, this must match an actual + packet name for a Packet to be successfully built + LLSD to convert to a Packet + A Packet on success, otherwise null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Add a custom decoder callback + + The key of the field to decode + The custom decode handler + + + + Remove a custom decoder callback + + The key of the field to decode + The custom decode handler + + + + Creates a formatted string containing the values of a Packet + + The Packet + A formatted string of values of the nested items in the Packet object + + + + Decode an IMessage object into a beautifully formatted string + + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object + + + + A custom decoder callback + + The key of the object + the data to decode + A string represending the fieldData + + + + Access to the data server which allows searching for land, events, people, etc + + + + The event subscribers. null if no subcribers + + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + + Constructs a new instance of the DirectoryManager class + + An instance of GridClient + + + + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised + + + + Query the data server for a list of classified ads which contain specified keywords (Overload) + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised + + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature + + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + + + + Starts search for places (Overloaded) + + The event is raised when a response is received from the simulator + + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + + + Queries the dataserver for parcels of land which are flagged to be shown in search + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + + + + + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. + + + + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. + + + + Send a request to the data server for land sales listings + + + Flags sent to specify query options + + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + + Flags can be combined by separating them with the | (pipe) character + + Additional details can be found in + + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + The event will be raised with the response from the simulator + + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + + + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + + + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + + + + + Search the People directory for other avatars + + The name or portion of the name of the avatar you wish to search for + + + + + + Search Places for parcels of land you personally own + + + + + Searches Places for land owned by the specified group + + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. + + + + Search the Places directory for parcels that are listed in search and contain the specified keywords + + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. + + + + Search Places - All Options + + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. + + + + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. + + + + Search Events + + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. + + + Requests Event Details + ID of Event returned from the method + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Classified Ad categories + + + Classified is listed in the Any category + + + Classified is shopping related + + + Classified is + + + + + + + + + + + + + + + + + + + + + + + + Event Categories + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + + Flags can be combined using the | (pipe) character, not all flags are available in all queries + + + + Query the People database + + + + + + + + + Query the Groups database + + + Query the Events database + + + Query the land holdings database for land owned by the currently connected agent + + + + + + Query the land holdings database for land which is owned by a Group + + + Specifies the query should pre sort the results based upon traffic + when searching the Places database + + + + + + + + + + + + + + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database + + + + + + + + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + + + + + Land types to search dataserver for + + + + Search Auction, Mainland and Estate + + + Land which is currently up for auction + + + Parcels which are on the mainland (Linden owned) continents + + + Parcels which are on privately owned simulators + + + + The content rating of the event + + + + Event is PG + + + Event is Mature + + + Event is Adult + + + + Classified Ad Options + + There appear to be two formats the flags are packed in. + This set of flags is for the newer style + + + + + + + + + + + + + + + + + + + Classified ad query options + + + + Include all ads in results + + + Include PG ads in results + + + Include Mature ads in results + + + Include Adult ads in results + + + + The For Sale flag in PlacesReplyData + + + + Parcel is not listed for sale + + + Parcel is For Sale + + + + A classified ad on the grid + + + + UUID for this ad, useful for looking up detailed + information about it + + + The title of this classified ad + + + Flags that show certain options applied to the classified + + + Creation date of the ad + + + Expiration date of the ad + + + Price that was paid for this ad + + + Print the struct data as a string + A string containing the field name, and field value + + + + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search + + + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method + + + A string containing the name of the parcel + + + The size of the parcel + This field is not returned for Places searches + + + The price of the parcel + This field is not returned for Places searches + + + If True, this parcel is flagged to be auctioned + + + If true, this parcel is currently set for sale + + + Parcel traffic + + + Print the struct data as a string + A string containing the field name, and field value + + + + An Avatar returned from the dataserver + + + + Online status of agent + This field appears to be obsolete and always returns false + + + The agents first name + + + The agents last name + + + The agents + + + Print the struct data as a string + A string containing the field name, and field value + + + + Response to a "Groups" Search + + + + The Group ID + + + The name of the group + + + The current number of members + + + Print the struct data as a string + A string containing the field name, and field value + + + + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source + + + + The ID of the Agent of Group that owns the parcel + + + The name + + + The description + + + The Size of the parcel + + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 + + + Indicates the ForSale status of the parcel + + + The Gridwide X position + + + The Gridwide Y position + + + The Z position of the parcel, or 0 if no landing point set + + + The name of the Region the parcel is located in + + + The Asset ID of the parcels Snapshot texture + + + The calculated visitor traffic + + + The billing product SKU + Known values are: + + 023Mainland / Full Region + 024Estate / Full Region + 027Estate / Openspace + 029Estate / Homestead + 129Mainland / Homestead (Linden Owned) + + + + + No longer used, will always be 0 + + + Get a SL URL for the parcel + A string, containing a standard SLURL + + + Print the struct data as a string + A string containing the field name, and field value + + + + An "Event" Listing summary + + + + The ID of the event creator + + + The name of the event + + + The events ID + + + A string containing the short date/time the event will begin + + + The event start time in Unixtime (seconds since epoch) + + + The events maturity rating + + + Print the struct data as a string + A string containing the field name, and field value + + + + The details of an "Event" + + + + The events ID + + + The ID of the event creator + + + The name of the event + + + The category + + + The events description + + + The short date/time the event will begin + + + The event start time in Unixtime (seconds since epoch) UTC adjusted + + + The length of the event in minutes + + + 0 if no cover charge applies + + + The cover charge amount in L$ if applicable + + + The name of the region where the event is being held + + + The gridwide location of the event + + + The maturity rating + + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL + + + Print the struct data as a string + A string containing the field name, and field value + + + Contains the Event data returned from the data server from an EventInfoRequest + + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event + + + + A single EventInfo object containing the details of an event + + + + Contains the "Event" detail data returned from the data server + + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query + + + The ID returned by + + + A list of "Events" returned by the data server + + + Contains the "Event" list data returned from the data server + + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query + + + The ID returned by + + + A list of "Places" returned by the data server + + + Contains the places data returned from the data server + + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server + + + The ID returned by + + + A list containing Places data returned by the data server + + + Contains the classified data returned from the data server + + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server + + + A list containing Classified Ads returned by the data server + + + Contains the group data returned from the data server + + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server + + + The ID returned by + + + A list containing Groups data returned by the data server + + + Contains the people data returned from the data server + + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server + + + The ID returned by + + + A list containing People data returned by the data server + + + Contains the land sales data returned from the data server + + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server + + + A list containing land forsale data returned by the data server + + + + Interface requirements for Messaging system + + + + + Image width + + + + + Image height + + + + + Image channel flags + + + + + Red channel data + + + + + Green channel data + + + + + Blue channel data + + + + + Alpha channel data + + + + + Bump channel data + + + + + Create a new blank image + + width + height + channel flags + + + + + + + + + + Convert the channels in the image. Channels are created or destroyed as required. + + new channel flags + + + + Resize or stretch the image using nearest neighbor (ugly) resampling + + new width + new height + + + + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL + + A byte array containing raw texture data + + + + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL + + A byte array containing raw texture data + + + + Represents an Animation + + + + Default Constructor + + + + Construct an Asset object of type Animation + + Asset type + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + + + + Represents a Landmark with RegionID and Position vector + + + + UUID of the Landmark target region + + + Local position of the target + + + Construct an Asset of type Landmark + + + + Construct an Asset object of type Landmark + + A unique specific to this asset + A byte array containing the raw asset data + + + + Encode the raw contents of a string with the specific Landmark format + + + + + Decode the raw asset data, populating the RegionID and Position + + true if the AssetData was successfully decoded to a UUID and Vector + + + Override the base classes AssetType + + + + + + + + + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate + + + + + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper + + + + + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread + + + + + + + Invokes the wrapped delegate synchronously + + + + + + + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks + + + + + + Delegate to wrap another delegate and its arguments + + + + + + + The current status of a texture request as it moves through the pipeline or final result of a texture request. + + + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline + + + A request that has been added to the pipeline and the request packet + has been sent to the simulator + + + A request that has received one or more packets back from the simulator + + + A request that has received all packets back from the simulator + + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received + + + The texture request was aborted by request of the agent + + + The simulator replied to the request that it was not able to find the requested texture + + + + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array. + + + + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the + + This class makes full use of the internal + system for full texture downloads. + + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled + + + Holds the reference to the client object + + + Maximum concurrent texture requests allowed at a time + + + An array of objects used to manage worker request threads + + + An array of worker slots which shows the availablity status of the slot + + + The primary thread which manages the requests. + + + true if the TexturePipeline is currently running + + + A synchronization object used by the primary thread + + + A refresh timer used to increase the priority of stalled requests + + + + Default constructor, Instantiates a new copy of the TexturePipeline class + + Reference to the instantiated object + + + + Initialize callbacks required for the TexturePipeline to operate + + + + + Shutdown the TexturePipeline and cleanup any callbacks or transfers + + + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download + + + + Cancel a pending or in process texture request + + The texture assets unique ID + + + + Master Download Thread, Queues up downloads in the threadpool + + + + + The worker thread that sends the request and handles timeouts + + A object containing the request details + + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data + + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data + + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data + + + Current number of pending and in-process transfers + + + + A request task containing information and status of a request as it is processed through the + + + + The current which identifies the current status of the request + + + The Unique Request ID, This is also the Asset ID of the texture being requested + + + The slot this request is occupying in the threadpoolSlots array + + + The ImageType of the request. + + + The callback to fire when the request is complete, will include + the and the + object containing the result data + + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. + + + An object that maintains the data of an request thats in-process. + + + Size of the byte array used to store raw packet data + + + Raw packet data buffer + + + Length of the data to transmit + + + EndPoint of the remote host + + + + Create an allocated UDP packet buffer for receiving a packet + + + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + Size of the buffer to allocate for packet data + + + + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets + + + + + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. + + + + + Creates a new instance of the ObjectPool Base class. + + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. + + + + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. + + + + + Responsible for allocate 1 instance of an object that will be stored in a segment. + + An instance of whatever objec the pool is pooling. + + + + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. + + The segment from which the instance is checked out. + The instance of T to check back into the segment. + + + + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. + + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. + + + + The total number of segments created. Intended to be used by the Unit Tests. + + + + + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. + + + + + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. + + + + + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. + + + + + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. + + + + + Initialize the object pool in client mode + + Server to connect to + + + + + + Initialize the object pool in server mode + + + + + + + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode + + Initialized UDPPacketBuffer object + + + + Default constructor + + + + + Check a packet buffer out of the pool + + A packet buffer object + + + + Singleton logging class for the entire library + + + + log4net logging engine + + + + Default constructor + + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + Exception that was raised + + + + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + + + + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + Instance of the client + + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console + + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from + + + + + + + + The avatar has no rights + + + The avatar can see the online status of the target avatar + + + The avatar can see the location of the target avatar on the map + + + The avatar can modify the ojects of the target avatar + + + + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights + + + + + Used internally when building the initial list of friends at login time + + System ID of the avatar being prepesented + Rights the friend has to see you online and to modify your objects + Rights you have to see your friend online and to modify their objects + + + + FriendInfo represented as a string + + A string reprentation of both my rights and my friends rights + + + + System ID of the avatar + + + + + full name of the avatar + + + + + True if the avatar is online + + + + + True if the friend can see if I am online + + + + + True if the friend can see me on the map + + + + + True if the freind can modify my objects + + + + + True if I can see if my friend is online + + + + + True if I can see if my friend is on the map + + + + + True if I can modify my friend's objects + + + + + My friend's rights represented as bitmapped flags + + + + + My rights represented as bitmapped flags + + + + + This class is used to add and remove avatars from your friends list and to manage their permission. + + + + The event subscribers. null if no subcribers + + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + + A dictionary of key/value pairs containing known friends of this avatar. + + The Key is the of the friend, the value is a + object that contains detailed information including permissions you have and have given to the friend + + + + + A Dictionary of key/value pairs containing current pending frienship offers. + + The key is the of the avatar making the request, + the value is the of the request which is used to accept + or decline the friendship offer + + + + + Internal constructor + + A reference to the GridClient Object + + + + Accept a friendship request + + agentID of avatatar to form friendship with + imSessionID of the friendship request message + + + + Decline a friendship request + + of friend + imSessionID of the friendship request message + + + + Overload: Offer friendship to an avatar. + + System ID of the avatar you are offering friendship to + + + + Offer friendship to an avatar. + + System ID of the avatar you are offering friendship to + A message to send with the request + + + + Terminate a friendship with an avatar + + System ID of the avatar you are terminating the friendship with + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Change the rights of a friend avatar. + + the of the friend + the new rights to give the friend + This method will implicitly set the rights to those passed in the rights parameter. + + + + Use to map a friends location on the grid. + + Friends UUID to find + + + + + Use to track a friends movement on the grid + + Friends Key + + + + Ask for a notification of friend's online status + + Friend's UUID + + + + This handles the asynchronous response of a RequestAvatarNames call. + + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Populate FriendList with data from the login reply + + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server + + + Raised when the simulator sends notification one of the members in our friends list comes online + + + Raised when the simulator sends notification one of the members in our friends list goes offline + + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + + Raised when the simulator sends us the names on our friends list + + + Raised when the simulator sends notification another agent is offering us friendship + + + Raised when a request we sent to friend another agent is accepted or declined + + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship + + + Raised when the simulator sends the location of a friend we have + requested map location info for + + + Contains information on a member of our friends list + + + + Construct a new instance of the FriendInfoEventArgs class + + The FriendInfo + + + Get the FriendInfo + + + Contains Friend Names + + + + Construct a new instance of the FriendNamesEventArgs class + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name + + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name + + + Sent when another agent requests a friendship with our agent + + + + Construct a new instance of the FriendshipOfferedEventArgs class + + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer + + + Get the ID of the agent requesting friendship + + + Get the name of the agent requesting friendship + + + Get the ID of the session, used in accepting or declining the + friendship offer + + + A response containing the results of our request to form a friendship with another agent + + + + Construct a new instance of the FriendShipResponseEventArgs class + + The ID of the agent we requested a friendship with + The name of the agent we requested a friendship with + true if the agent accepted our friendship offer + + + Get the ID of the agent we requested a friendship with + + + Get the name of the agent we requested a friendship with + + + true if the agent accepted our friendship offer + + + Contains data sent when a friend terminates a friendship with us + + + + Construct a new instance of the FrindshipTerminatedEventArgs class + + The ID of the friend who terminated the friendship with us + The name of the friend who terminated the friendship with us + + + Get the ID of the agent that terminated the friendship with us + + + Get the name of the agent that terminated the friendship with us + + + + Data sent in response to a request which contains the information to allow us to map the friends location + + + + + Construct a new instance of the FriendFoundReplyEventArgs class + + The ID of the agent we have requested location information for + The region handle where our friend is located + The simulator local position our friend is located + + + Get the ID of the agent we have received location information for + + + Get the region handle where our mapped friend is located + + + Get the simulator local position where our friend is located + + + + Static pre-defined animations available to all agents + + + + Agent with afraid expression on face + + + Agent aiming a bazooka (right handed) + + + Agent aiming a bow (left handed) + + + Agent aiming a hand gun (right handed) + + + Agent aiming a rifle (right handed) + + + Agent with angry expression on face + + + Agent hunched over (away) + + + Agent doing a backflip + + + Agent laughing while holding belly + + + Agent blowing a kiss + + + Agent with bored expression on face + + + Agent bowing to audience + + + Agent brushing himself/herself off + + + Agent in busy mode + + + Agent clapping hands + + + Agent doing a curtsey bow + + + Agent crouching + + + Agent crouching while walking + + + Agent crying + + + Agent unanimated with arms out (e.g. setting appearance) + + + Agent re-animated after set appearance finished + + + Agent dancing + + + Agent dancing + + + Agent dancing + + + Agent dancing + + + Agent dancing + + + Agent dancing + + + Agent dancing + + + Agent dancing + + + Agent on ground unanimated + + + Agent boozing it up + + + Agent with embarassed expression on face + + + Agent with afraid expression on face + + + Agent with angry expression on face + + + Agent with bored expression on face + + + Agent crying + + + Agent showing disdain (dislike) for something + + + Agent with embarassed expression on face + + + Agent with frowning expression on face + + + Agent with kissy face + + + Agent expressing laughgter + + + Agent with open mouth + + + Agent with repulsed expression on face + + + Agent expressing sadness + + + Agent shrugging shoulders + + + Agent with a smile + + + Agent expressing surprise + + + Agent sticking tongue out + + + Agent with big toothy smile + + + Agent winking + + + Agent expressing worry + + + Agent falling down + + + Agent walking (feminine version) + + + Agent wagging finger (disapproval) + + + I'm not sure I want to know + + + Agent in superman position + + + Agent in superman position + + + Agent greeting another + + + Agent holding bazooka (right handed) + + + Agent holding a bow (left handed) + + + Agent holding a handgun (right handed) + + + Agent holding a rifle (right handed) + + + Agent throwing an object (right handed) + + + Agent in static hover + + + Agent hovering downward + + + Agent hovering upward + + + Agent being impatient + + + Agent jumping + + + Agent jumping with fervor + + + Agent point to lips then rear end + + + Agent landing from jump, finished flight, etc + + + Agent laughing + + + Agent landing from jump, finished flight, etc + + + Agent sitting on a motorcycle + + + + + + Agent moving head side to side + + + Agent moving head side to side with unhappy expression + + + Agent taunting another + + + + + + Agent giving peace sign + + + Agent pointing at self + + + Agent pointing at another + + + Agent preparing for jump (bending knees) + + + Agent punching with left hand + + + Agent punching with right hand + + + Agent acting repulsed + + + Agent trying to be Chuck Norris + + + Rocks, Paper, Scissors 1, 2, 3 + + + Agent with hand flat over other hand + + + Agent with fist over other hand + + + Agent with two fingers spread over other hand + + + Agent running + + + Agent appearing sad + + + Agent saluting + + + Agent shooting bow (left handed) + + + Agent cupping mouth as if shouting + + + Agent shrugging shoulders + + + Agent in sit position + + + Agent in sit position (feminine) + + + Agent in sit position (generic) + + + Agent sitting on ground + + + Agent sitting on ground + + + + + + Agent sleeping on side + + + Agent smoking + + + Agent inhaling smoke + + + + + + Agent taking a picture + + + Agent standing + + + Agent standing up + + + Agent standing + + + Agent standing + + + Agent standing + + + Agent standing + + + Agent stretching + + + Agent in stride (fast walk) + + + Agent surfing + + + Agent acting surprised + + + Agent striking with a sword + + + Agent talking (lips moving) + + + Agent throwing a tantrum + + + Agent throwing an object (right handed) + + + Agent trying on a shirt + + + Agent turning to the left + + + Agent turning to the right + + + Agent typing + + + Agent walking + + + Agent whispering + + + Agent whispering with fingers in mouth + + + Agent winking + + + Agent winking + + + Agent worried + + + Agent nodding yes + + + Agent nodding yes with happy face + + + Agent floating with legs and arms crossed + + + + A dictionary containing all pre-defined animations + + A dictionary containing the pre-defined animations, + where the key is the animations ID, and the value is a string + containing a name to identify the purpose of the animation + + + + Throttles the network traffic for various different traffic types. + Access this class through GridClient.Throttle + + + + + Default constructor, uses a default high total of 1500 KBps (1536000) + + + + + Constructor that decodes an existing AgentThrottle packet in to + individual values + + Reference to the throttle data in an AgentThrottle + packet + Offset position to start reading at in the + throttle data + This is generally not needed in clients as the server will + never send a throttle packet to the client + + + + Send an AgentThrottle packet to the current server using the + current values + + + + + Send an AgentThrottle packet to the specified server using the + current values + + + + + Convert the current throttle values to a byte array that can be put + in an AgentThrottle packet + + Byte array containing all the throttle values + + + Maximum bits per second for resending unacknowledged packets + + + Maximum bits per second for LayerData terrain + + + Maximum bits per second for LayerData wind data + + + Maximum bits per second for LayerData clouds + + + Unknown, includes object data + + + Maximum bits per second for textures + + + Maximum bits per second for downloaded assets + + + Maximum bits per second the entire connection, divided up + between invidiual streams using default multipliers + + + + Represents a single Voice Session to the Vivox service. + + + + + Close this session. + + + + + Look up an existing Participants in this session + + + + + + + Extract the avatar UUID encoded in a SIP URI + + + + + + + Permissions for control of object media + + + + + Style of cotrols that shold be displayed to the user + + + + + Class representing media data for a single face + + + + Is display of the alternative image enabled + + + Should media auto loop + + + Shoule media be auto played + + + Auto scale media to prim face + + + Should viewer automatically zoom in on the face when clicked + + + Should viewer interpret first click as interaction with the media + or when false should the first click be treated as zoom in commadn + + + Style of controls viewer should display when + viewer media on this face + + + Starting URL for the media + + + Currently navigated URL + + + Media height in pixes + + + Media width in pixels + + + Who can controls the media + + + Who can interact with the media + + + Is URL whitelist enabled + + + Array of URLs that are whitelisted + + + + Serialize to OSD + + OSDMap with the serialized data + + + + Deserialize from OSD data + + Serialized OSD data + Deserialized object + + + + Particle system specific enumerators, flags and methods. + + + + + Current version of the media data for the prim + + + + + Array of media entries indexed by face number + + + + + + + + + + + + + + + + + + + + + + + + + + + + Foliage type for this primitive. Only applicable if this + primitive is foliage + + + Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifies the owner if audio or a particle system is + active + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Objects physics engine propertis + + + Extra data about primitive + + + Indicates if prim is attached to an avatar + + + Number of clients referencing this prim + + + + Default constructor + + + + + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values + + Floating point parameter to pack + Signed eight bit value containing the packed parameter + + + + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values + + Signed eight bit value to unpack + Unpacked floating point value + + + + + + Uses basic heuristics to estimate the primitive shape + + + + Texture animation mode + + + + Disable texture animation + + + Enable texture animation + + + Loop when animating textures + + + Animate in reverse direction + + + Animate forward then reverse + + + Slide texture smoothly instead of frame-stepping + + + Rotate texture instead of using frames + + + Scale texture instead of using frames + + + + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry + + + + + Contains the definition for individual faces + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + In the future this will specify whether a webpage is + attached to this face + + + + + + + + + + Represents all of the texturable faces for an object + + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces + + + + + + + + + + Constructor that takes a default texture UUID + + Texture UUID to use as the default texture + + + + Constructor that takes a TextureEntryFace for the + default face + + Face to use as the default face + + + + Constructor that creates the TextureEntry class from a byte array + + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes + + + + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists + + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Controls the texture animation of a particular prim + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Parameters used to construct a visual representation of a primitive + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculdates hash code for prim construction data + + The has + + + Attachment point to an avatar + + + + + + + + + + + + + + + + Information on the flexible properties of a primitive + + + + + + + + + + + + + + + + + + + + + + + Default constructor + + + + + + + + + + + + + + + + + + + + + + + + Information on the light properties of a primitive + + + + + + + + + + + + + + + + + + + + Default constructor + + + + + + + + + + + + + + + + + + + + + + + + Information on the light properties of a primitive as texture map + + + + + + + + + + + Default constructor + + + + + + + + + + + + + + + + + + + + + + + + Information on the sculpt properties of a sculpted primitive + + + + + Default constructor + + + + + + + + + + + + Render inside out (inverts the normals). + + + + + Render an X axis mirror of the sculpty. + + + + + Extended properties to describe an object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default constructor + + + + + Set the properties that are set in an ObjectPropertiesFamily packet + + that has + been partially filled by an ObjectPropertiesFamily packet + + + + Describes physics attributes of the prim + + + + Primitive's local ID + + + Density (1000 for normal density) + + + Friction + + + Gravity multiplier (1 for normal gravity) + + + Type of physics representation of this primitive in the simulator + + + Restitution + + + + Creates PhysicsProperties from OSD + + OSDMap with incoming data + Deserialized PhysicsProperties object + + + + Serializes PhysicsProperties to OSD + + OSDMap with serialized PhysicsProperties data + + + + Complete structure for the particle system + + + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer + + + pattern of particles + + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds + + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted + + + A in radians that specifies where particles will not be created + + + A in radians that specifies where particles will be created + + + A representing the number of seconds between burts. + + + A representing the number of meters + around the center of the source where particles will be created. + + + A representing in seconds, the minimum speed between bursts of new particles + being emitted + + + A representing in seconds the maximum speed of new particles being emitted. + + + A representing the maximum number of particles emitted per burst + + + A which represents the velocity (speed) from the source which particles are emitted + + + A which represents the Acceleration from the source which particles are emitted + + + The Key of the texture displayed on the particle + + + The Key of the specified target object or avatar particles will follow + + + Flags of particle from + + + Max Age particle system will emit particles for + + + The the particle has at the beginning of its lifecycle + + + The the particle has at the ending of its lifecycle + + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the start glow value + Minimum value is 0, maximum value is 1 + + + A that represents the end glow value + Minimum value is 0, maximum value is 1 + + + OpenGL blend function to use at particle source + + + OpenGL blend function to use at particle destination + + + + Can this particle system be packed in a legacy compatible way + + True if the particle system doesn't use new particle system features + + + + Decodes a byte[] array into a ParticleSystem Object + + ParticleSystem object + Start position for BitPacker + + + + Generate byte[] array from particle data + + Byte array + + + + Particle source pattern + + + + None + + + Drop particles from source position with no force + + + "Explode" particles in all directions + + + Particles shoot across a 2D area + + + Particles shoot across a 3D Cone + + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + + + Particle Data Flags + + + + None + + + Interpolate color and alpha from start to end + + + Interpolate scale from start to end + + + Bounce particles off particle sources Z height + + + velocity of particles is dampened toward the simulators wind + + + Particles follow the source + + + Particles point towards the direction of source's velocity + + + Target of the particles + + + Particles are sent in a straight line + + + Particles emit a glow + + + used for point/grab/touch + + + continuous ribbon particle + + + particle data contains glow + + + particle data contains blend functions + + + + Particle Flags Enum + + + + None + + + Acceleration and velocity for particles are + relative to the object rotation + + + Particles use new 'correct' angle parameters + + + + Return a decoded capabilities message as a strongly typed object + + A string containing the name of the capabilities message key + An to decode + A strongly typed object containing the decoded information from the capabilities message, or null + if no existing Message object exists for the specified event + + + + A Wrapper around openjpeg to encode and decode images to and from byte arrays + + + + TGA Header size + + + OpenJPEG is not threadsafe, so this object is used to lock + during calls into unmanaged code + + + + Encode a object into a byte array + + The object to encode + true to enable lossless conversion, only useful for small images ie: sculptmaps + A byte array containing the encoded Image object + + + + Encode a object into a byte array + + The object to encode + a byte array of the encoded image + + + + Decode JPEG2000 data to an and + + + JPEG2000 encoded data + ManagedImage object to decode to + Image object to decode to + True if the decode succeeds, otherwise false + + + + + + + + + + + + + + + + + + + + + Encode a object into a byte array + + The source object to encode + true to enable lossless decoding + A byte array containing the source Bitmap object + + + + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file + + + + + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! + + + + + Information about a single packet in a JPEG2000 stream + + + + Packet start position + + + Packet header end position + + + Packet end position + + + The event subscribers. null if no subcribers + + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + + Default constructor + + + + + Raised when the simulator responds sends + + + Simulator from that sent tha data + + + Sim coordinate of the patch + + + Sim coordinate of the patch + + + Size of tha patch + + + Heightmap for the patch + + + + Capabilities is the name of the bi-directional HTTP REST protocol + used to communicate non real-time transactions such as teleporting or + group messaging + + + + Reference to the simulator this system is connected to + + + + Default constructor + + + + + + + Request the URI of a named capability + + Name of the capability to request + The URI of the requested capability, or String.Empty if + the capability does not exist + + + + Process any incoming events, check to see if we have a message created for the event, + + + + + + Capabilities URI this system was initialized with + + + Whether the capabilities event queue is connected and + listening for incoming events + + + + Triggered when an event is received via the EventQueueGet + capability + + Event name + Decoded event data + The simulator that generated the event + + + + + + + + OK + + + Transfer completed + + + + + + + + + Unknown error occurred + + + Equivalent to a 404 error + + + Client does not have permission for that resource + + + Unknown status + + + + + + + + + + + Unknown + + + Virtually all asset transfers use this channel + + + + + + + + + + + Asset from the asset server + + + Inventory item + + + Estate asset, such as an estate covenant + + + + + + + + + + + + + + + + + + When requesting image download, type of the image requested + + + + Normal in-world object texture + + + Avatar texture + + + Server baked avatar texture + + + + Image file format + + + + + + + + + Number of milliseconds passed since the last transfer + packet was received + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Number of milliseconds to wait for a transfer header packet if out of order data was received + + + The event subscribers. null if no subcribers + + + Raises the XferReceived event + A XferReceivedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AssetUploaded event + A AssetUploadedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the UploadProgress event + A UploadProgressEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the InitiateDownload event + A InitiateDownloadEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ImageReceiveProgress event + A ImageReceiveProgressEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + Texture download cache + + + + Default constructor + + A reference to the GridClient object + + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + The callback to fire when the simulator responds with the asset data + + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + The callback to fire when the simulator responds with the asset data + + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data + + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data + + + + Request an asset download through the almost deprecated Xfer system + + Filename of the asset to request + Whether or not to delete the asset + off the server after it is retrieved + Use large transfer packets or not + UUID of the file to request, if filename is + left empty + Asset type of vFileID, or + AssetType.Unknown if filename is not empty + Sets the FilePath in the request to Cache + (4) if true, otherwise Unknown (0) is used + + + + + + + Use UUID.Zero if you do not have the + asset ID but have all the necessary permissions + The item ID of this asset in the inventory + Use UUID.Zero if you are not requesting an + asset from an object inventory + The owner of this asset + Asset type + Whether to prioritize this asset download or not + + + + + Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + + An AssetUpload object containing the data to upload to the simulator + + + + Request an asset be uploaded to the simulator + + The Object containing the asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired + + + + Request an asset be uploaded to the simulator + + The of the asset being uploaded + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired + + + + Request an asset be uploaded to the simulator + + + Asset type to upload this data as + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired + + + + Initiate an asset upload + + The ID this asset will have if the + upload succeeds + Asset type to upload this data as + Raw asset data to upload + Whether to store this asset on the local + simulator or the grid-wide asset server + The tranaction id for the upload + The transaction ID of this transfer + + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress + transfer. + A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority + indicating an off-by-one error. + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + Request an image and fire a callback when the request is complete + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + + Request an image and use an inline anonymous method to handle the downloaded texture data + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + ); + + Request a texture, decode the texture to a bitmap image and apply it to a imagebox + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + ManagedImage imgData; + Image bitmap; + + if (state == TextureRequestState.Finished) + { + OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); + picInsignia.Image = bitmap; + } + } + } + + + + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + + + Cancel a texture request + + The texture assets + + + + Requests download of a mesh asset + + UUID of the mesh asset + Callback when the request completes + + + + Fetach avatar texture on a grid capable of server side baking + + ID of the avatar + ID of the texture + Name of the part of the avatar texture applies to + Callback invoked on operation completion + + + + Lets TexturePipeline class fire the progress event + + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the simulator responds sends + + + Raised during upload completes + + + Raised during upload with progres update + + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + + + Fired when a texture is in the process of being downloaded by the TexturePipeline class + + + + Callback used for various asset download requests + + Transfer information + Downloaded asset, null on fail + + + + Callback used upon competition of baked texture upload + + Asset UUID of the newly uploaded baked texture + + + + A callback that fires upon the completition of the RequestMesh call + + Was the download successfull + Resulting mesh or null on problems + + + Xfer data + + + Upload data + + + Filename used on the simulator + + + Filename used by the client + + + UUID of the image that is in progress + + + Number of bytes received so far + + + Image size in bytes + + + + Represents an LSL Text object containing a string of UTF encoded characters + + + + A string of characters represting the script contents + + + Initializes a new AssetScriptText object + + + + Initializes a new AssetScriptText object with parameters + + A unique specific to this asset + A byte array containing the raw asset data + + + + Encode a string containing the scripts contents into byte encoded AssetData + + + + + Decode a byte array containing the scripts contents into a string + + true if decoding is successful + + + Override the base classes AssetType + + + + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script + + + + Initializes a new instance of an AssetScriptBinary object + + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + + TODO: Encodes a scripts contents into a LSO Bytecode file + + + + + TODO: Decode LSO Bytecode into a string + + true + + + Override the base classes AssetType + + + + Represents a Callingcard with AvatarID and Position vector + + + + UUID of the Callingcard target avatar + + + Construct an Asset of type Callingcard + + + + Construct an Asset object of type Callingcard + + A unique specific to this asset + A byte array containing the raw asset data + + + + Constuct an asset of type Callingcard + + UUID of the target avatar + + + + Encode the raw contents of a string with the specific Callingcard format + + + + + Decode the raw asset data, populating the AvatarID and Position + + true if the AssetData was successfully decoded to a UUID and Vector + + + Override the base classes AssetType + + + + + + + + The event subscribers, null of no subscribers + + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + + A reference to the current GridClient instance + + + + Plays a sound in the current region at full volume from avatar position + + UUID of the sound to be played + + + + Plays a sound in the current region at full volume + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + + + + Plays a sound in the current region + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 + + + + Plays a sound in the specified sim + + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 + + + + Play a sound asset + + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the simulator sends us data containing + sound + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Provides data for the event + The event occurs when the simulator sends + the sound data which emits from an agents attachment + + The following code example shows the process to subscribe to the event + and a stub to handle the data passed from the simulator + + // Subscribe to the AttachedSound event + Client.Sound.AttachedSound += Sound_AttachedSound; + + // process the data raised in the event here + private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) + { + // ... Process AttachedSoundEventArgs here ... + } + + + + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The + + + Simulator where the event originated + + + Get the sound asset id + + + Get the ID of the owner + + + Get the ID of the Object + + + Get the volume level + + + Get the + + + Provides data for the event + The event occurs when an attached sound + changes its volume level + + + + Construct a new instance of the AttachedSoundGainChangedEventArgs class + + Simulator where the event originated + The ID of the Object + The new volume level + + + Simulator where the event originated + + + Get the ID of the Object + + + Get the volume level + + + Provides data for the event + The event occurs when the simulator forwards + a request made by yourself or another agent to play either an asset sound or a built in sound + + Requests to play sounds where the is not one of the built-in + will require sending a request to download the sound asset before it can be played + + + The following code example uses the , + and + properties to display some information on a sound request on the window. + + // subscribe to the event + Client.Sound.SoundTrigger += Sound_SoundTrigger; + + // play the pre-defined BELL_TING sound + Client.Sound.SendSoundTrigger(Sounds.BELL_TING); + + // handle the response data + private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + Console.WriteLine("{0} played the sound {1} at volume {2}", + e.OwnerID, e.SoundID, e.Gain); + } + + + + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The ID of the objects parent + The volume level + The regionhandle + The source position + + + Simulator where the event originated + + + Get the sound asset id + + + Get the ID of the owner + + + Get the ID of the Object + + + Get the ID of the objects parent + + + Get the volume level + + + Get the regionhandle + + + Get the source position + + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + + + + + Construct a new instance of the PreloadSoundEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + + + Simulator where the event originated + + + Get the sound asset id + + + Get the ID of the owner + + + Get the ID of the Object + + + Positional vector of the users position + + + Velocity vector of the position + + + At Orientation (X axis) of the position + + + Up Orientation (Y axis) of the position + + + Left Orientation (Z axis) of the position + + + + Contains all mesh faces that belong to a prim + + + + List of primitive faces + + + + Decodes mesh asset into FacetedMesh + + Mesh primitive + Asset retrieved from the asset server + Level of detail + Resulting decoded FacetedMesh + True if mesh asset decoding was successful + + + + Type of gesture step + + + + + Base class for gesture steps + + + + + Retururns what kind of gesture step this is + + + + + Describes animation step of a gesture + + + + + If true, this step represents start of animation, otherwise animation stop + + + + + Animation asset + + + + + Animation inventory name + + + + + Returns what kind of gesture step this is + + + + + Describes sound step of a gesture + + + + + Sound asset + + + + + Sound inventory name + + + + + Returns what kind of gesture step this is + + + + + Describes sound step of a gesture + + + + + Text to output in chat + + + + + Returns what kind of gesture step this is + + + + + Describes sound step of a gesture + + + + + If true in this step we wait for all animations to finish + + + + + If true gesture player should wait for the specified amount of time + + + + + Time in seconds to wait if WaitForAnimation is false + + + + + Returns what kind of gesture step this is + + + + + Describes the final step of a gesture + + + + + Returns what kind of gesture step this is + + + + + Represents a sequence of animations, sounds, and chat actions + + + + + Keyboard key that triggers the gestyre + + + + + Modifier to the trigger key + + + + + String that triggers playing of the gesture sequence + + + + + Text that replaces trigger in chat once gesture is triggered + + + + + Sequence of gesture steps + + + + + Constructs guesture asset + + + + + Constructs guesture asset + + A unique specific to this asset + A byte array containing the raw asset data + + + + Encodes gesture asset suitable for uplaod + + + + + Decodes gesture assset into play sequence + + true if the asset data was decoded successfully + + + + Returns asset type + + + + + Type of return to use when returning objects from a parcel + + + + + + + Return objects owned by parcel owner + + + Return objects set to group + + + Return objects not owned by parcel owner or set to group + + + Return a specific list of objects on parcel + + + Return objects that are marked for-sale + + + + Blacklist/Whitelist flags used in parcels Access List + + + + Agent is denied access + + + Agent is granted access + + + + The result of a request for parcel properties + + + + No matches were found for the request + + + Request matched a single parcel + + + Request matched multiple parcels + + + + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both + + + + Request the access list + + + Request the ban list + + + Request both White and Black lists + + + + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) + + + + Parcel is currently selected + + + Parcel restricted to a group the avatar is not a + member of + + + Avatar is banned from the parcel + + + Parcel is restricted to an access list that the + avatar is not on + + + Response to hovering over a parcel + + + + The tool to use when modifying terrain levels + + + + Level the terrain + + + Raise the terrain + + + Lower the terrain + + + Smooth the terrain + + + Add random noise to the terrain + + + Revert terrain to simulator default + + + + The tool size to use when changing terrain levels + + + + Small + + + Medium + + + Large + + + + Reasons agent is denied access to a parcel on the simulator + + + + Agent is not denied, access is granted + + + Agent is not a member of the group set for the parcel, or which owns the parcel + + + Agent is not on the parcels specific allow list + + + Agent is on the parcels ban list + + + Unknown + + + Agent is not age verified and parcel settings deny access to non age verified avatars + + + + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags + + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused + + + Public land + + + Land is owned by another avatar + + + Land is owned by a group + + + Land is owned by the current avatar + + + Land is for sale + + + Land is being auctioned + + + Land is private + + + To the west of this area is a parcel border + + + To the south of this area is a parcel border + + + + Various parcel properties + + + + No flags set + + + Allow avatars to fly (a client-side only restriction) + + + Allow foreign scripts to run + + + This parcel is for sale + + + Allow avatars to create a landmark on this parcel + + + Allows all avatars to edit the terrain on this parcel + + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here + + + Foreign avatars can create objects here + + + All objects on this parcel can be purchased + + + Access is restricted to a group + + + Access is restricted to a whitelist + + + Ban blacklist is enabled + + + Unknown + + + List this parcel in the search directory + + + Allow personally owned parcels to be deeded to group + + + If Deeded, owner contributes required tier to group parcel is deeded to + + + Restrict sounds originating on this parcel to the + parcel boundaries + + + Objects on this parcel are sold when the land is + purchsaed + + + Allow this parcel to be published on the web + + + The information for this parcel is mature content + + + The media URL is an HTML page + + + The media URL is a raw HTML string + + + Restrict foreign object pushes + + + Ban all non identified/transacted avatars + + + Allow group-owned scripts to run + + + Allow object creation by group members or group + objects + + + Allow all objects to enter this parcel + + + Only allow group and owner objects to enter this parcel + + + Voice Enabled on this parcel + + + Use Estate Voice channel for Voice on this parcel + + + Deny Age Unverified Users + + + + Parcel ownership status + + + + Placeholder + + + Parcel is leased (owned) by an avatar or group + + + Parcel is in process of being leased (purchased) by an avatar or group + + + Parcel has been abandoned back to Governor Linden + + + + Category parcel is listed in under search + + + + No assigned category + + + Linden Infohub or public area + + + Adult themed area + + + Arts and Culture + + + Business + + + Educational + + + Gaming + + + Hangout or Club + + + Newcomer friendly + + + Parks and Nature + + + Residential + + + Shopping + + + Not Used? + + + Other + + + Not an actual category, only used for queries + + + + Type of teleport landing for a parcel + + + + Unset, simulator default + + + Specific landing point set for this parcel + + + No landing point set, direct teleports enabled for + this parcel + + + + Parcel Media Command used in ParcelMediaCommandMessage + + + + Stop the media stream and go back to the first frame + + + Pause the media stream (stop playing but stay on current frame) + + + Start the current media stream playing and stop when the end is reached + + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play + + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. + + + Specifies the movie URL (254 characters max) + + + Specifies the time index at which to begin playing + + + Specifies a single agent to apply the media command to + + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. + + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. + + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working + + + Sets a description for the media being displayed (1.19.1 RC0 and later only). + + + + Some information about a parcel of land returned from a DirectoryManager search + + + + Global Key of record + + + Parcel Owners + + + Name field of parcel, limited to 128 characters + + + Description field of parcel, limited to 256 characters + + + Total Square meters of parcel + + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + + True of parcel is in Mature simulator + + + Grid global X position of parcel + + + Grid global Y position of parcel + + + Grid global Z position of parcel (not used) + + + Name of simulator parcel is located in + + + Texture of parcels display picture + + + Float representing calculated traffic based on time spent on parcel by avatars + + + Sale price of parcel (not used) + + + Auction ID of parcel + + + + Parcel Media Information + + + + A byte, if 0x1 viewer should auto scale media to fit object + + + A boolean, if true the viewer should loop the media + + + The Asset UUID of the Texture which when applied to a + primitive will display the media + + + A URL which points to any Quicktime supported media type + + + A description of the media + + + An Integer which represents the height of the media + + + An integer which represents the width of the media + + + A string which contains the mime type of the media + + + + Parcel of land, a portion of virtual real estate in a simulator + + + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + + Deprecated, Value appears to always be 0 + + + Simulator-local ID of this parcel + + + UUID of the owner of this parcel + + + Whether the land is deeded to a group or not + + + + + + Date land was claimed + + + Appears to always be zero + + + This field is no longer used + + + Minimum corner of the axis-aligned bounding box for this + parcel + + + Maximum corner of the axis-aligned bounding box for this + parcel + + + Bitmap describing land layout in 4x4m squares across the + entire region + + + Total parcel land area + + + + + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel + + + Maximum number of primitives this parcel supports + + + Total number of primitives on this parcel + + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual + + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. + + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + + Autoreturn value in minutes for others' objects + + + + + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it + + + Parcel Name + + + Parcel Description + + + URL For Music Stream + + + + + + Price for a temporary pass + + + How long is pass valid for + + + + + + Key of authorized buyer + + + Key of parcel snapshot + + + The landing point location + + + The landing point LookAt + + + The type of landing enforced from the enum + + + + + + + + + + + + Access list of who is whitelisted on this + parcel + + + Access list of who is blacklisted on this + parcel + + + TRUE of region denies access to age unverified users + + + true to obscure (hide) media url + + + true to obscure (hide) music url + + + A struct containing media details + + + + Displays a parcel object in string format + + string containing key=value pairs of a parcel object + + + + Defalt constructor + + Local ID of this parcel + + + + Update the simulator with any local changes to this Parcel object + + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not + + + + Set Autoreturn time + + Simulator to send the update to + + + + Parcel (subdivided simulator lots) subsystem + + + + The event subscribers. null if no subcribers + + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + + Default constructor + + A reference to the GridClient object + + + + Request basic information for a single parcel + + Simulator-local ID of the parcel + + + + Request properties of a single parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests + + + + Request the access list for a single parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + + + + + Request properties of parcels using a bounding box selection + + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel + + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) + + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request + + + + Request the dwell value for a parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + + + + Send a request to Purchase a parcel of land + + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel + + + + + Reclaim a parcel of land + + The simulator the parcel is in + The parcels region specific local ID + + + + Deed a parcel to a group + + The simulator the parcel is in + The parcels region specific local ID + The groups + + + + Request prim owners of a parcel of land. + + Simulator parcel is in + The parcels region specific local ID + + + + Return objects from a parcel + + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return + + + + Subdivide (split) a parcel + + + + + + + + + + Join two parcels of land creating a single parcel + + + + + + + + + + Get a parcels LocalID + + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at + + + + Sends a request to the simulator to return a list of objects owned by specific owners + + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event + + + + Eject and optionally ban a user from a parcel + + target key of avatar to eject + true to also ban target + + + + Freeze or unfreeze an avatar over your land + + target key to freeze + true to freeze, false to unfreeze + + + + Abandon a parcel of land + + Simulator parcel is in + Simulator local ID of parcel + + + + Requests the UUID of the parcel in a remote region at a specified location + + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise + + + + Retrieves information on resources used by the parcel + + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a Parcel Update request + + + Raised when the parcel your agent is located sends a ParcelMediaCommand + + + + Parcel Accesslist + + + + Agents + + + + + + Flags for specific entry in white/black lists + + + + Owners of primitives on parcel + + + + Prim Owners + + + True of owner is group + + + Total count of prims owned by OwnerID + + + true of OwnerID is currently online and is not a group + + + The date of the most recent prim left by OwnerID + + + + Called once parcel resource usage information has been collected + + Indicates if operation was successfull + Parcel resource usage information + + + Contains a parcels dwell data returned from the simulator in response to an + + + + Construct a new instance of the ParcelDwellReplyEventArgs class + + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel + + + Get the global ID of the parcel + + + Get the simulator specific ID of the parcel + + + Get the calculated dwell + + + Contains basic parcel information data returned from the + simulator in response to an request + + + + Construct a new instance of the ParcelInfoReplyEventArgs class + + The object containing basic parcel info + + + Get the object containing basic parcel info + + + Contains basic parcel information data returned from the simulator in response to an request + + + + Construct a new instance of the ParcelPropertiesEventArgs class + + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: + + + Get the simulator the parcel is located in + + + Get the object containing the details + If Result is NoData, this object will not contain valid data + + + Get the result of the request + + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel + + + Get the user assigned ID used to correlate a request with + these results + + + TODO: + + + Contains blacklist and whitelist data returned from the simulator in response to an request + + + + Construct a new instance of the ParcelAccessListReplyEventArgs class + + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel + + + Get the simulator the parcel is located in + + + Get the user assigned ID used to correlate a request with + these results + + + Get the simulator specific ID of the parcel + + + TODO: + + + Get the list containing the white/blacklisted agents for the parcel + + + Contains blacklist and whitelist data returned from the + simulator in response to an request + + + + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + + The simulator the parcel is located in + The list containing prim ownership counts + + + Get the simulator the parcel is located in + + + Get the list containing prim ownership counts + + + Contains the data returned when all parcel data has been retrieved from a simulator + + + + Construct a new instance of the SimParcelsDownloadedEventArgs class + + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + Get the simulator the parcel data was retrieved from + + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + Contains the data returned when a request + + + + Construct a new instance of the ForceSelectObjectsReplyEventArgs class + + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request + + + Get the simulator the parcel data was retrieved from + + + Get the list of primitive IDs + + + true if the list is clean and contains the information + only for a given request + + + Contains data when the media data for a parcel the avatar is on changes + + + + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + + the simulator the parcel media data was updated in + The updated media information + + + Get the simulator the parcel media data was updated in + + + Get the updated media information + + + Contains the media command for a parcel the agent is currently on + + + + Construct a new instance of the ParcelMediaCommandEventArgs class + + The simulator the parcel media command was issued in + + + The media command that was sent + + + + Get the simulator the parcel media command was issued in + + + + + + + + + Get the media command that was sent + + + + + + + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets + + + + + + + + + + + + + + + + + + + + Constructor that takes all the fields as parameters + + + + + + + + + + Constructor that takes a single line from a NameValue field + + + + + Type of the value + + + Unknown + + + String value + + + + + + + + + + + + + + + Deprecated + + + String value, but designated as an asset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Level of Detail mesh + + + + + Temporary code to produce a tar archive in tar v7 format + + + + + Binary writer for the underlying stream + + + + + Write a directory entry to the tar archive. We can only handle one path level right now! + + + + + + Write a file to the tar archive + + + + + + + Write a file to the tar archive + + + + + + + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + + + + + Write a particular entry + + + + + + + + Temporary code to do the bare minimum required to read a tar archive for our purposes + + + + + Binary reader for the underlying stream + + + + + Used to trim off null chars + + + + + Used to trim off space chars + + + + + Generate a tar reader which reads from the given stream. + + + + + + Read the next entry in the tar file. + + + + the data for the entry. Returns null if there are no more entries + + + + Read the next 512 byte chunk of data as a tar header. + + A tar header struct. null if we have reached the end of the archive. + + + + Read data following a header + + + + + + + Convert octal bytes to a decimal representation + + + + + + + + + Operation to apply when applying color to texture + + + + + Information needed to translate visual param value to RGBA color + + + + + Construct VisualColorParam + + Operation to apply when applying color to texture + Colors + + + + Represents alpha blending and bump infor for a visual parameter + such as sleive length + + + + Stregth of the alpha to apply + + + File containing the alpha channel + + + Skip blending if parameter value is 0 + + + Use miltiply insted of alpha blending + + + + Create new alhpa information for a visual param + + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending + + + + A single visual characteristic of an avatar mesh, such as eyebrow height + + + + Index of this visual param + + + Internal name + + + Group ID this parameter belongs to + + + Name of the wearable this parameter belongs to + + + Displayable label of this characteristic + + + Displayable label for the minimum value of this characteristic + + + Displayable label for the maximum value of this characteristic + + + Default value + + + Minimum value + + + Maximum value + + + Is this param used for creation of bump layer? + + + Alpha blending/bump info + + + Color information + + + Array of param IDs that are drivers for this parameter + + + + Set all the values through the constructor + + Index of this visual param + Internal name + + + Displayable label of this characteristic + Displayable label for the minimum value of this characteristic + Displayable label for the maximum value of this characteristic + Default value + Minimum value + Maximum value + Is this param used for creation of bump layer? + Array of param IDs that are drivers for this parameter + Alpha blending/bump info + Color information + + + + Holds the Params array of all the avatar appearance parameters + + + + + + + + + + Initialize the UDP packet handler in server mode + + Port to listening for incoming UDP packets on + + + + Initialize the UDP packet handler in client mode + + Remote UDP server to connect to + + + + + + + + + + + + + + + + + + + Static helper functions and global variables + + + + This header flag signals that ACKs are appended to the packet + + + This header flag signals that this packet has been sent before + + + This header flags signals that an ACK is expected for this packet + + + This header flag signals that the message is compressed using zerocoding + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Given an X/Y location in absolute (grid-relative) terms, a region + handle is returned along with the local X/Y location in that region + + The absolute X location, a number such as + 255360.35 + The absolute Y location, a number such as + 255360.35 + The sim-local X position of the global X + position, a value from 0.0 to 256.0 + The sim-local Y position of the global Y + position, a value from 0.0 to 256.0 + A 64-bit region handle that can be used to teleport to + + + + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files + + Floating point number to convert to a string + A terse string representation of the input number + + + + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output + + If the byte array has unprintable characters in it, a + hex dump will be written instead + The StringBuilder object to write to + The byte array to convert to a string + A field name to prepend to each line of output + + + + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag + + Any time a zero is encountered, the next byte is a count + of how many zeroes to expand. One zero is encoded with 0x00 0x01, + two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The + first four bytes are copied directly to the output buffer. + + The byte array to decode + The length of the byte array to decode. This + would be the length of the packet up to (but not including) any + appended ACKs + The output byte array to decode to + The length of the output buffer + + + + Encode a byte array with zerocoding. Used to compress packets marked + with the zerocoded flag. Any zeroes in the array are compressed down + to a single zero byte followed by a count of how many zeroes to expand + out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, + three zeroes becomes 0x00 0x03, etc. The first four bytes are copied + directly to the output buffer. + + The byte array to encode + The length of the byte array to encode + The output byte array to encode to + The length of the output buffer + + + + Calculates the CRC (cyclic redundancy check) needed to upload inventory. + + Creation date + Sale type + Inventory type + Type + Asset ID + Group ID + Sale price + Owner ID + Creator ID + Item ID + Folder ID + Everyone mask (permissions) + Flags + Next owner mask (permissions) + Group mask (permissions) + Owner mask (permissions) + The calculated CRC + + + + Attempts to load a file embedded in the assembly + + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded + + + + Attempts to load a file either embedded in the assembly or found in + a given search path + + The filename of the resource to load + An optional path that will be searched if + the asset is not found embedded in the assembly + A Stream for the requested file, or null if the resource + was not successfully loaded + + + + Converts a list of primitives to an object that can be serialized + with the LLSD system + + Primitives to convert to a serializable object + An object that can be serialized with LLSD + + + + Deserializes OSD in to a list of primitives + + Structure holding the serialized primitive list, + must be of the SDMap type + A list of deserialized primitives + + + + Converts a struct or class object containing fields only into a key value separated string + + The struct object + A string containing the struct fields as the keys, and the field value as the value separated + + + // Add the following code to any struct or class containing only fields to override the ToString() + // method to display the values of the passed object + + /// Print the struct data as a string + ///A string containing the field name, and field value + public override string ToString() + { + return Helpers.StructToString(this); + } + + + + + + Passed to Logger.Log() to identify the severity of a log entry + + + + No logging information will be output + + + Non-noisy useful information, may be helpful in + debugging a problem + + + A non-critical error occurred. A warning will not + prevent the rest of the library from operating as usual, + although it may be indicative of an underlying issue + + + A critical error has occurred. Generally this will + be followed by the network layer shutting down, although the + stability of the library after an error is uncertain + + + Used for internal testing, this logging level can + generate very noisy (long and/or repetitive) messages. Don't + pass this to the Log() function, use DebugLog() instead. + + + + = + + + Number of times we've received an unknown CAPS exception in series. + + + For exponential backoff on error. + + + + The type of bump-mapping applied to a face + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The level of shininess applied to a face + + + + + + + + + + + + + + + + + The texture mapping style used for a face + + + + + + + + + + + + + + + + + Flags in the TextureEntry block that describe which properties are + set + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wrapper around a byte array that allows bit to be packed and unpacked + one at a time or by a variable amount. Useful for very tightly packed + data like LayerData packets + + + + + + + + Default constructor, initialize the bit packer / bit unpacker + with a byte array and starting position + + Byte array to pack bits in to or unpack from + Starting position in the byte array + + + + Pack a floating point value in to the data + + Floating point value to pack + + + + Pack part or all of an integer in to the data + + Integer containing the data to pack + Number of bits of the integer to pack + + + + Pack part or all of an unsigned integer in to the data + + Unsigned integer containing the data to pack + Number of bits of the integer to pack + + + + Pack a single bit in to the data + + Bit to pack + + + + + + + + + + + + + + + + + + + + + + + + + Unpacking a floating point value from the data + + Unpacked floating point value + + + + Unpack a variable number of bits from the data in to integer format + + Number of bits to unpack + An integer containing the unpacked bits + This function is only useful up to 32 bits + + + + Unpack a variable number of bits from the data in to unsigned + integer format + + Number of bits to unpack + An unsigned integer containing the unpacked bits + This function is only useful up to 32 bits + + + + Unpack a 16-bit signed integer + + 16-bit signed integer + + + + Unpack a 16-bit unsigned integer + + 16-bit unsigned integer + + + + Unpack a 32-bit signed integer + + 32-bit signed integer + + + + Unpack a 32-bit unsigned integer + + 32-bit unsigned integer + + + + + + + Permission request flags, asked when a script wants to control an Avatar @@ -50,6 +15253,9 @@ Script wants to control your camera + + Script wants the ability to teleport you + Special commands used in Instant Messages @@ -127,9 +15333,8 @@ Only useful if you have Linden permissions - - A placeholder type for future expansion, currently not - used + + Request a teleport lure IM to tell the user to go to an URL @@ -138,7 +15343,7 @@ IM for help - IM sent automatically on call for help, sends a lure + IM sent automatically on call for help, sends a lure to each Helper reached @@ -235,19 +15440,17 @@ + - - + - - + - - + @@ -255,59 +15458,47 @@ - - + - - + - - + - - + - - + - - + - - + Project a beam from a source to a destination, such as the one used when editing an object - - + - - + - - + Create a swirl of particles around an object - - + - - + Cause an avatar to look at an object @@ -317,52 +15508,42 @@ - The action an avatar is doing when looking at something, used in + The action an avatar is doing when looking at something, used in ViewerEffect packets for the LookAt effect - - + - - + - - + - - + - - + - - + Deprecated - - + - - + - - + - - + @@ -371,20 +15552,16 @@ - - + - - + - - + - - + @@ -392,260 +15569,200 @@ - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + + - - + - - + - - + - - + - - + - - + + - - + - - + - - + - - + - - + - - + @@ -704,16 +15821,13 @@ - - + - - + - - + @@ -740,6 +15854,7 @@ + @@ -749,8 +15864,7 @@ Set when newbie leaves help island for first time - - + Via Lure @@ -777,23 +15891,19 @@ Linden Forced me - - + Agent Teleported Home via Script - - + - - + - - + forced to new location for example when avatar is banned or ejected @@ -809,39 +15919,34 @@ + - - + - - + - - + + - - + - - + - - + - - + @@ -973,1731 +16078,9 @@ Transaction description - - - Manager class for our own avatar - - - - - Constructor, setup callbacks for packets related to our avatar - - A reference to the Class - - - - Agent movement and camera control - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties - - - - Default constructor - - - - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets - - - - - Default constructor - - - - - - - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens - - - - - - - - - - - - - - - - - - - Agent camera controls - - - Currently only used for hiding your group title - - - Action state of the avatar, which can currently be - typing and editing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Timer for sending AgentUpdate packets - - - Move agent positive along the X axis - - - Move agent negative along the X axis - - - Move agent positive along the Y axis - - - Move agent negative along the Y axis - - - Move agent positive along the Z axis - - - Move agent negative along the Z axis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Causes simulator to make agent fly - - - Stop movement - - - Finish animation - - - Stand up from a sit - - - Tells simulator to sit agent on ground - - - Place agent into mouselook mode - - - Nudge agent positive along the X axis - - - Nudge agent negative along the X axis - - - Nudge agent positive along the Y axis - - - Nudge agent negative along the Y axis - - - Nudge agent positive along the Z axis - - - Nudge agent negative along the Z axis - - - - - - - - - - - Tell simulator to mark agent as away - - - - - - - - - - - - - - - - - - - - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - - - - The current value of the agent control flags - - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable - - - Gets or sets whether AgentUpdate packets are sent to - the current simulator - - - Reset movement controls every time we send an update - - - - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified - - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not - - - - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - - Region coordinates to turn toward - - - - Send new AgentUpdate packet to update our current camera - position and rotation - - - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet - - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet - Simulator to send the update to - - - - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way - - - - - - - - - - - - - - - - - - - - - - - - - - - Used to specify movement actions for your agent - - - - Empty flag - - - Move Forward (SL Keybinding: W/Up Arrow) - - - Move Backward (SL Keybinding: S/Down Arrow) - - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - - Unused - - - Unused - - - Unused - - - Unused - - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - - Fly - - - - - - - Finish our current animation - - - Stand up from the ground or a prim seat - - - Sit on the ground at our current location - - - Whether mouselook is currently enabled - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - - - - - - - - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag - - - - - - - - - - - - - - - - - - - - Called once attachment resource usage information has been collected - - Indicates if operation was successfull - Attachment resource usage information - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - Reference to the GridClient instance - - - Used for movement and camera tracking - - - Currently playing animations for the agent. Can be used to - check the current movement status such as walking, hovering, aiming, - etc. by checking against system animations found in the Animations class - - - Dictionary containing current Group Chat sessions and members - - - Dictionary containing mute list keyead on mute name and key - - - Raised when a scripted object or agent within range sends a public message - - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to - - - Raised when an object requests a change in the permissions an agent has permitted - - - Raised when a script requests an agent open the specified URL - - - Raised when an agents currency balance is updated - - - Raised when a transaction occurs involving currency such as a land purchase - - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived - - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request - - - Raised when a simulator sends agent specific information for our avatar. - - - Raised when our agents animation playlist changes - - - Raised when an object or avatar forcefully collides with our agent - - - Raised when our agent crosses a region border into another region - - - Raised when our agent succeeds or fails to join a group chat session - - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - - Raised when a script attempts to take or release specified controls for our agent - - - Raised when the simulator detects our agent is trying to view something - beyond its limits - - - Raised when a script sensor reply is received from a simulator - - - Raised in response to a request - - - Raised when an avatar enters a group chat session we are participating in - - - Raised when an agent exits a group chat session we are participating in - - - Raised when the simulator sends us data containing - the details of display name change - - - Raised when a scripted object or agent within range sends a public message - - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing - - - Temporary assigned to this session, used for - verifying our identity in packets - - - Shared secret that is never sent over the wire - - - Your (client) avatar ID, local to the current region/sim - - - Where the avatar started at login. Can be "last", "home" - or a login - - - The access level of this agent, usually M or PG - - - The CollisionPlane of Agent - - - An representing the velocity of our agent - - - An representing the acceleration of our agent - - - A which specifies the angular speed, and axis about which an Avatar is rotating. - - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. - - - LookAt point saved/restored with HomePosition - - - Avatar First Name (i.e. Philip) - - - Avatar Last Name (i.e. Linden) - - - Avatar Full Name (i.e. Philip Linden) - - - Gets the health of the agent - - - Gets the current balance of the agent - - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting - - - Gets the of the agents active group. - - - Gets the Agents powers in the currently active group - - - Current status message for teleporting - - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something - - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something - - - Current position of the agent in the simulator - - - - A representing the agents current rotation - - - - Returns the global grid position of the avatar - - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server - - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server - - - Raises the ScriptQuestion event - A ScriptQuestionEventArgs object containing the - data returned from the data server - - - Raises the LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server - - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server - - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs object containing the - data returned from the data server - - - Raises the IM event - A InstantMessageEventArgs object containing the - data returned from the data server - - - Raises the TeleportProgress event - A TeleportEventArgs object containing the - data returned from the data server - - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server - - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server - - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server - - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server - - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server - - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server - - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server - - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server - - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server - - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server - - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server - - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server - - - Raises the SetDisplayNameReply Event - A SetDisplayNameReplyEventArgs object containing - the data sent from the simulator - - - Raises the MuteListUpdated event - A EventArgs object containing the - data returned from the data server - - - - Send a text message from the Agent to the Simulator - - A containing the message - The channel to send the message on, 0 is the public channel. Channels above 0 - can be used however only scripts listening on the specified channel will see the message - Denotes the type of message being sent, shout, whisper, etc. - - - - Request any instant messages sent while the client was offline to be resent. - - - - - Send an Instant Message to another Avatar - - The recipients - A containing the message to send - - - - Send an Instant Message to an existing group chat or conference chat - - The recipients - A containing the message to send - IM session ID (to differentiate between IM windows) - - - - Send an Instant Message - - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - IDs of sessions for a conference - - - - Send an Instant Message - - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - Type of instant message to send - Whether to IM offline avatars as well - Senders Position - RegionID Sender is In - Packed binary data that is specific to - the dialog type - - - - Send an Instant Message to a group - - - of the group to send message to - Text Message being sent. - - - - Send an Instant Message to a group the agent is a member of - - The name this IM will show up as being from - - of the group to send message to - Text message being sent - - - - Send a request to join a group chat session - - - of Group to leave - - - - Exit a group chat session. This will stop further Group chat messages - from being sent until session is rejoined. - - - of Group chat session to leave - - - - Reply to script dialog questions. - - Channel initial request came on - Index of button you're "clicking" - Label of button you're "clicking" - - of Object that sent the dialog request - - - - - Accept invite for to a chatterbox session - - - of session to accept invite to - - - - Start a friends conference - - - List of UUIDs to start a conference with - the temportary session ID returned in the callback> - - - - Start a particle stream between an agent and an object - - - Key of the source agent - - Key of the target object - - - The type from the enum - A unique for this effect - - - - Start a particle stream between an agent and an object - - - Key of the source agent - - Key of the target object - A representing the beams offset from the source - A which sets the avatars lookat animation - - of the Effect - - - - Create a particle beam between an avatar and an primitive - - The ID of source avatar - The ID of the target primitive - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - - - - - Create a particle swirl around a target position using a packet - - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - - - - Sends a request to sit on the specified object - - - of the object to sit on - Sit at offset - - - - Follows a call to to actually sit on the object - - - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent - - - - Does a "ground sit" at the avatar's current position - - - - - Starts or stops flying - - True to start flying, false to stop flying - - - - Starts or stops crouching - - True to start crouching, false to stop crouching - - - - Starts a jump (begin holding the jump key) - - - - - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements - - The z value is currently not handled properly by the simulator - Global X coordinate to move to - Global Y coordinate to move to - Z coordinate to move to - - - - Use the autopilot sim function to move the avatar to a new position - - The z value is currently not handled properly by the simulator - Integer value for the global X coordinate to move to - Integer value for the global Y coordinate to move to - Floating-point value for the Z coordinate to move to - - - - Use the autopilot sim function to move the avatar to a new position - - The z value is currently not handled properly by the simulator - Integer value for the local X coordinate to move to - Integer value for the local Y coordinate to move to - Floating-point value for the Z coordinate to move to - - - Macro to cancel autopilot sim function - Not certain if this is how it is really done - true if control flags were set and AgentUpdate was sent to the simulator - - - - Grabs an object - - an unsigned integer of the objects ID within the simulator - - - - - Overload: Grab a simulated object - - an unsigned integer of the objects ID within the simulator - - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Drag an object - - - of the object to drag - Drag target in region coordinates - - - - Overload: Drag an object - - - of the object to drag - Drag target in region coordinates - - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Release a grabbed object - - The Objects Simulator Local ID - - - - - - - Release a grabbed object - - The Objects Simulator Local ID - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Touches an object - - an unsigned integer of the objects ID within the simulator - - - - - Request the current L$ balance - - - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ - - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history - - - - Give L$ to an object - - object to give money to - amount of L$ to give - name of object - - - - Give L$ to a group - - group to give money to - amount of L$ to give - - - - Give L$ to a group - - group to give money to - amount of L$ to give - description of transaction - - - - Pay texture/animation upload fee - - - - - Pay texture/animation upload fee - - description of the transaction - - - - Give Money to destination Object or Avatar - - UUID of the Target Object/Avatar - Amount in L$ - Reason (Optional normally) - The type of transaction - Transaction flags, mostly for identifying group - transactions - - - - Plays a gesture - - Asset of the gesture - - - - Mark gesture active - - Inventory of the gesture - Asset of the gesture - - - - Mark gesture inactive - - Inventory of the gesture - - - - Send an AgentAnimation packet that toggles a single animation on - - The of the animation to start playing - Whether to ensure delivery of this packet or not - - - - Send an AgentAnimation packet that toggles a single animation off - - The of a - currently playing animation to stop playing - Whether to ensure delivery of this packet or not - - - - Send an AgentAnimation packet that will toggle animations on or off - - A list of animation s, and whether to - turn that animation on or off - Whether to ensure delivery of this packet or not - - - - Teleports agent to their stored home location - - true on successful teleport to home location - - - - Teleport agent to a landmark - - - of the landmark to teleport agent to - true on success, false on failure - - - - Attempt to look up a simulator name and teleport to the discovered - destination - - Region name to look up - Position to teleport to - True if the lookup and teleport were successful, otherwise - false - - - - Attempt to look up a simulator name and teleport to the discovered - destination - - Region name to look up - Position to teleport to - Target to look at - True if the lookup and teleport were successful, otherwise - false - - - - Teleport agent to another region - - handle of region to teleport agent to - - position in destination sim to teleport to - true on success, false on failure - This call is blocking - - - - Teleport agent to another region - - handle of region to teleport agent to - - position in destination sim to teleport to - - direction in destination sim agent will look at - true on success, false on failure - This call is blocking - - - - Request teleport to a another simulator - - handle of region to teleport agent to - - position in destination sim to teleport to - - - - Request teleport to a another simulator - - handle of region to teleport agent to - - position in destination sim to teleport to - - direction in destination sim agent will look at - - - - Teleport agent to a landmark - - - of the landmark to teleport agent to - - - - Send a teleport lure to another avatar with default "Join me in ..." invitation message - - target avatars to lure - - - - Send a teleport lure to another avatar with custom invitation message - - target avatars to lure - custom message to send with invitation - - - - Respond to a teleport lure by either accepting it and initiating - the teleport, or denying it - - - of the avatar sending the lure - IM session of the incoming lure request - true to accept the lure, false to decline it - - - - Update agent profile - - - struct containing updated - profile information - - - - Update agents profile interests - - selection of interests from struct - - - - Set the height and the width of the client window. This is used - by the server to build a virtual camera frustum for our avatar - - New height of the viewer window - New width of the viewer window - - - - Request the list of muted objects and avatars for this agent - - - - - Mute an object, resident, etc. - - Mute type - Mute UUID - Mute name - - - - Mute an object, resident, etc. - - Mute type - Mute UUID - Mute name - Mute flags - - - - Unmute an object, resident, etc. - - Mute UUID - Mute name - - - - Sets home location to agents current position - - will fire an AlertMessage () with - success or failure message - - - - Move an agent in to a simulator. This packet is the last packet - needed to complete the transition in to a new simulator - - - Object - - - - Reply to script permissions request - - - Object - - of the itemID requesting permissions - - of the taskID requesting permissions - - list of permissions to allow - - - - Respond to a group invitation by either accepting or denying it - - UUID of the group (sent in the AgentID field of the invite message) - IM Session ID from the group invitation message - Accept the group invitation or deny it - - - - Requests script detection of objects and avatars - - name of the object/avatar to search for - UUID of the object or avatar to search for - Type of search from ScriptSensorTypeFlags - range of scan (96 max?) - the arc in radians to search within - an user generated ID to correlate replies with - Simulator to perform search in - - - - Create or update profile pick - - UUID of the pick to update, or random UUID to create a new pick - Is this a top pick? (typically false) - UUID of the parcel (UUID.Zero for the current parcel) - Name of the pick - Global position of the pick landmark - UUID of the image displayed with the pick - Long description of the pick - - - - Delete profile pick - - UUID of the pick to delete - - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Global position of the classified landmark - Name of the classified - Long description of the classified - if true, auto renew classified after expiration - - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Name of the classified - Long description of the classified - if true, auto renew classified after expiration - - - - Delete a classified ad - - The classified ads ID - - - - Fetches resource usage by agents attachmetns - - Called when the requested information is collected - - - - Initates request to set a new display name - - Previous display name - Desired new display name - - - - Tells the sim what UI language is used, and if it's ok to share that with scripts - - Two letter language code - Share language info with scripts - - - - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments - - The sender - The EventArgs object containing the packet data - - - - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. - - The sender - The EventArgs object containing the packet data - - - - Used for parsing llDialogs - - The sender - The EventArgs object containing the packet data - - - - Used for parsing llRequestPermissions dialogs - - The sender - The EventArgs object containing the packet data - - - - Handles Script Control changes when Script with permissions releases or takes a control - - The sender - The EventArgs object containing the packet data - - - - Used for parsing llLoadURL Dialogs - - The sender - The EventArgs object containing the packet data - - - - Update client's Position, LookAt and region handle from incoming packet - - The sender - The EventArgs object containing the packet data - This occurs when after an avatar moves into a new sim - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - EQ Message fired with the result of SetDisplayName request - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - - Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. - - The Message Key - An IMessage object Deserialized from the recieved message event - The simulator originating the event message - - - - Process TeleportFinish from Event Queue and pass it onto our TeleportHandler - - The message system key for this event - IMessage object containing decoded data from OSD - The simulator originating the event message - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - This packet is now being sent via the EventQueue - - - - Group Chat event handler - - The capability Key - IMessage object containing decoded data from OSD - - - - - - Response from request to join a group chat - - - - IMessage object containing decoded data from OSD - - - - - - Someone joined or left group chat - - - - IMessage object containing decoded data from OSD - - - - - - Handle a group chat Invitation - - Caps Key - IMessage object containing decoded data from OSD - Originating Simulator - - - - Moderate a chat session - - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate - Either "voice" to moderate users voice, or "text" to moderate users text session - true to moderate (silence user), false to allow avatar to speak - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - + @@ -2820,7 +16203,7 @@ Get the permissions being requested - Contains the data sent when a primitive sends a request + Contains the data sent when a primitive sends a request to an agent to open the specified URL @@ -2883,7 +16266,7 @@ - Contains the transaction summary when an item is purchased, + Contains the transaction summary when an item is purchased, money is given, or land is purchased @@ -2896,6 +16279,7 @@ The meters credited The meters comitted A brief description of the transaction + Transaction info Get the ID of the transaction @@ -3131,7 +16515,7 @@ Get the velocity of the primitive sending the sensor - Contains the response data returned from the simulator in response to a + Contains the response data returned from the simulator in response to a Construct a new instance of the AvatarSitResponseEventArgs object @@ -3204,5501 +16588,117 @@ Details of the newly set display name - + - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle + Abstract base for rendering plugins - + - Default constructor, uses a default high total of 1500 KBps (1536000) + Generates a basic mesh structure from a primitive + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - + - Constructor that decodes an existing AgentThrottle packet in to - individual values + Generates a basic mesh structure from a sculpted primitive and + texture - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - - Maximum bits per second for resending unacknowledged packets - - - Maximum bits per second for LayerData terrain - - - Maximum bits per second for LayerData wind data - - - Maximum bits per second for LayerData clouds - - - Unknown, includes object data - - - Maximum bits per second for textures - - - Maximum bits per second for downloaded assets - - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers - - - - Send an AgentThrottle packet to the current server using the - current values - - - - - Send an AgentThrottle packet to the specified server using the - current values - - - - - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet - - Byte array containing all the throttle values - - - - Static pre-defined animations available to all agents - - - - Agent with afraid expression on face - - - Agent aiming a bazooka (right handed) - - - Agent aiming a bow (left handed) - - - Agent aiming a hand gun (right handed) - - - Agent aiming a rifle (right handed) - - - Agent with angry expression on face - - - Agent hunched over (away) - - - Agent doing a backflip - - - Agent laughing while holding belly - - - Agent blowing a kiss - - - Agent with bored expression on face - - - Agent bowing to audience - - - Agent brushing himself/herself off - - - Agent in busy mode - - - Agent clapping hands - - - Agent doing a curtsey bow - - - Agent crouching - - - Agent crouching while walking - - - Agent crying - - - Agent unanimated with arms out (e.g. setting appearance) - - - Agent re-animated after set appearance finished - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent dancing - - - Agent on ground unanimated - - - Agent boozing it up - - - Agent with embarassed expression on face - - - Agent with afraid expression on face - - - Agent with angry expression on face - - - Agent with bored expression on face - - - Agent crying - - - Agent showing disdain (dislike) for something - - - Agent with embarassed expression on face - - - Agent with frowning expression on face - - - Agent with kissy face - - - Agent expressing laughgter - - - Agent with open mouth - - - Agent with repulsed expression on face - - - Agent expressing sadness - - - Agent shrugging shoulders - - - Agent with a smile - - - Agent expressing surprise - - - Agent sticking tongue out - - - Agent with big toothy smile - - - Agent winking - - - Agent expressing worry - - - Agent falling down - - - Agent walking (feminine version) - - - Agent wagging finger (disapproval) - - - I'm not sure I want to know - - - Agent in superman position - - - Agent in superman position - - - Agent greeting another - - - Agent holding bazooka (right handed) - - - Agent holding a bow (left handed) - - - Agent holding a handgun (right handed) - - - Agent holding a rifle (right handed) - - - Agent throwing an object (right handed) - - - Agent in static hover - - - Agent hovering downward - - - Agent hovering upward - - - Agent being impatient - - - Agent jumping - - - Agent jumping with fervor - - - Agent point to lips then rear end - - - Agent landing from jump, finished flight, etc - - - Agent laughing - - - Agent landing from jump, finished flight, etc - - - Agent sitting on a motorcycle - - - - - - - Agent moving head side to side - - - Agent moving head side to side with unhappy expression - - - Agent taunting another - - - - - - - Agent giving peace sign - - - Agent pointing at self - - - Agent pointing at another - - - Agent preparing for jump (bending knees) - - - Agent punching with left hand - - - Agent punching with right hand - - - Agent acting repulsed - - - Agent trying to be Chuck Norris - - - Rocks, Paper, Scissors 1, 2, 3 - - - Agent with hand flat over other hand - - - Agent with fist over other hand - - - Agent with two fingers spread over other hand - - - Agent running - - - Agent appearing sad - - - Agent saluting - - - Agent shooting bow (left handed) - - - Agent cupping mouth as if shouting - - - Agent shrugging shoulders - - - Agent in sit position - - - Agent in sit position (feminine) - - - Agent in sit position (generic) - - - Agent sitting on ground - - - Agent sitting on ground - - - - - - - Agent sleeping on side - - - Agent smoking - - - Agent inhaling smoke - - - - - - - Agent taking a picture - - - Agent standing - - - Agent standing up - - - Agent standing - - - Agent standing - - - Agent standing - - - Agent standing - - - Agent stretching - - - Agent in stride (fast walk) - - - Agent surfing - - - Agent acting surprised - - - Agent striking with a sword - - - Agent talking (lips moving) - - - Agent throwing a tantrum - - - Agent throwing an object (right handed) - - - Agent trying on a shirt - - - Agent turning to the left - - - Agent turning to the right - - - Agent typing - - - Agent walking - - - Agent whispering - - - Agent whispering with fingers in mouth - - - Agent winking - - - Agent winking - - - Agent worried - - - Agent nodding yes - - - Agent nodding yes with happy face - - - Agent floating with legs and arms crossed - - - - A dictionary containing all pre-defined animations - - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation - - - - Index of TextureEntry slots for avatar appearances - - - - - Bake layers for avatar appearance - - - - - Default constructor - - A reference to our agent - - - - Contains information about a wearable inventory item - - - - Inventory ItemID of the wearable - - - AssetID of the wearable asset - - - WearableType of the wearable - - - AssetType of the wearable - - - Asset data for the wearable - - - - Data collected from visual params for each wearable - needed for the calculation of the color - - - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - - - - A texture AssetID - - - Asset data for the texture - - - Collection of alpha masks that needs applying - - - Tint that should be applied to the texture - - - Where on avatar does this texture belong - - - Maximum number of concurrent downloads for wearable assets and textures - - - Maximum number of concurrent uploads for baked textures - - - Timeout for fetching inventory listings - - - Timeout for fetching a single wearable, or receiving a single packet response - - - Timeout for fetching a single texture - - - Timeout for uploading a single baked texture - - - Number of times to retry bake upload - - - When changing outfit, kick off rebake after - 20 seconds has passed since the last change - - - Total number of wearables for each avatar - - - Total number of baked textures on each avatar - - - Total number of wearables per bake layer - - - Mapping between BakeType and AvatarTextureIndex - - - Map of what wearables are included in each bake - - - Magic values to finalize the cache check hashes for each - bake - - - Default avatar texture, used to detect when a custom - texture is not set for a face - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - Visual parameters last sent to the sim - - - Textures about this client sent to the sim - - - A cache of wearables currently being worn - - - A cache of textures currently being worn - - - Incrementing serial number for AgentCachedTexture packets - - - Incrementing serial number for AgentSetAppearance packets - - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously - - - Reference to our agent - - - - Timer used for delaying rebake on changing outfit - - - - - Main appearance thread - - - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. - - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. - - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. - - - Triggered when the simulator requests the agent rebake its appearance. - - - - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - - - - Raises the AgentWearablesReply event - An AgentWearablesReplyEventArgs object containing the - data returned from the data server - - - Raises the CachedBakesReply event - An AgentCachedBakesReplyEventArgs object containing the - data returned from the data server AgentCachedTextureResponse - - - Raises the AppearanceSet event - An AppearanceSetEventArgs object indicating if the operatin was successfull - - - Raises the RebakeAvatarRequested event - An RebakeAvatarTexturesEventArgs object containing the - data returned from the data server - - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - Unused parameter - - - - Starts the appearance setting thread - - - - - Starts the appearance setting thread - - True to force rebaking, otherwise false - - - - Ask the server what textures our agent is currently wearing - - - - - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture - - - - - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot - - WearableType slot to get the AssetID for - The UUID of the asset being worn in the given slot, or - UUID.Zero if no wearable is attached to the given slot or wearables - have not been downloaded yet - - - - Add a wearable to the current outfit and set appearance - - Wearable to be added to the outfit - - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit - - - - Remove a wearable from the current outfit and set appearance - - Wearable to be removed from the outfit - - - - Removes a list of wearables from the current outfit and set appearance - - List of wearable inventory items to - be removed from the outfit - - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit - - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit - Check if we have all body parts, set this to false only - if you know what you're doing - - - - Checks if an inventory item is currently being worn - - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn - - - - Returns a copy of the agents currently worn wearables - - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time - - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit - - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first - - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - to attach the item to - - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - to attach the item to - - - - Detach an item from our agent using an object - - An object - - - - Detach an item from our agent - - The inventory itemID of the item to detach - - - - Inform the sim which wearables are part of our current outfit - - - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with - - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable - - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false - - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false - - - - Populates textures and visual params from a decoded asset - - Wearable to decode - - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false - - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download - - - - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present - - - - - - - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded - - - - Blocking method to create and upload baked textures for all of the - missing bakes - - True on success, otherwise false - - - - Blocking method to create and upload a baked texture for a single - bake layer - - Layer to bake - True on success, otherwise false - - - - Blocking method to upload a baked texture - - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero - - - - Creates a dictionary of visual param values from the downloaded wearables - - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class - - - - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - - - - - Converts a WearableType to a bodypart or clothing WearableType - - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - - - - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - A BakeType - The AvatarTextureIndex slot that holds the given BakeType - - - - Gives the layer number that is used for morph mask - - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask - - - - Converts a BakeType to a list of the texture slots that make up that bake - - A BakeType - A list of texture slots that are inputs for the given bake - - - Contains the Event data returned from the data server from an AgentWearablesRequest - - - Construct a new instance of the AgentWearablesReplyEventArgs class - - - Contains the Event data returned from the data server from an AgentCachedTextureResponse - - - Construct a new instance of the AgentCachedBakesReplyEventArgs class - - - Contains the Event data returned from an AppearanceSetRequest - - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful - - - Indicates whether appearance setting was successful - - - Contains the Event data returned from the data server from an RebakeAvatarTextures - - - - Triggered when the simulator sends a request for this agent to rebake - its appearance - - The ID of the Texture Layer to bake - - - The ID of the Texture Layer to bake - - - - Class that handles the local asset cache - - - - - Default constructor - - A reference to the GridClient object - - - - Helper class for sorting files by their last accessed time - - - - - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - - - - - How long (in ms) between cache checks (default is 5 min.) - - - - - Disposes cleanup timer - - - - - Only create timer when needed - - - - - Return bytes read from the local asset cache, null if it does not exist - - UUID of the asset we want to get - Raw bytes of the asset, or null on failure - - - - Returns ImageDownload object of the - image from the local image cache, null if it does not exist - - UUID of the image we want to get - ImageDownload object containing the image, or null on failure - - - - Constructs a file name of the cached asset - - UUID of the asset - String with the file name of the cahced asset - - - - Constructs a file name of the static cached asset - - UUID of the asset - String with the file name of the static cached asset - - - - Saves an asset to the local cache - - UUID of the asset - Raw bytes the asset consists of - Weather the operation was successfull - - - - Get the file name of the asset stored with gived UUID - - UUID of the asset - Null if we don't have that UUID cached on disk, file name if found in the cache folder - - - - Checks if the asset exists in the local cache - - UUID of the asset - True is the asset is stored in the cache, otherwise false - - - - Wipes out entire cache - - - - - Brings cache size to the 90% of the max size - - - - - Asynchronously brings cache size to the 90% of the max size - - - - - Adds up file sizes passes in a FileInfo array - - - - - Checks whether caching is enabled - - - - - Periodically prune the cache - - - - - Nicely formats file sizes - - Byte size we want to output - String with humanly readable file size - - - - - - - OK - - - Transfer completed - - - - - - - - - - - Unknown error occurred - - - Equivalent to a 404 error - - - Client does not have permission for that resource - - - Unknown status - - - - - - - - - - - Unknown - - - Virtually all asset transfers use this channel - - - - - - - - - - - Asset from the asset server - - - Inventory item - - - Estate asset, such as an estate covenant - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Image file format - - - - - - - - Number of milliseconds passed since the last transfer - packet was received - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default constructor - - A reference to the GridClient object - - - - Callback used for various asset download requests - - Transfer information - Downloaded asset, null on fail - - - - Callback used upon competition of baked texture upload - - Asset UUID of the newly uploaded baked texture - - - - A callback that fires upon the completition of the RequestMesh call - - Was the download successfull - Resulting mesh or null on problems - - - Number of milliseconds to wait for a transfer header packet if out of order data was received - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - Texture download cache - - - Raised when the simulator responds sends - - - Raised during upload completes - - - Raised during upload with progres update - - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - - Fired when a texture is in the process of being downloaded by the TexturePipeline class - - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator - - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator - - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator - - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator - - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data - - - - Request an asset download through the almost deprecated Xfer system - - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - - - - - - - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - - - - - - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads - - An AssetUpload object containing the data to upload to the simulator - - - - Request an asset be uploaded to the simulator - - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Request an asset be uploaded to the simulator - - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Request an asset be uploaded to the simulator - - - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Initiate an asset upload - - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer - - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - - Cancel a texture request - - The texture assets - - - - Requests download of a mesh asset - - UUID of the mesh asset - Callback when the request completes - - - - Lets TexturePipeline class fire the progress event - - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Xfer data - - - Upload data - - - Filename used on the simulator - - - Filename used by the client - - - UUID of the image that is in progress - - - Number of bytes received so far - - - Image size in bytes - - - - Avatar profile flags - - - - - Represents an avatar (other than your own) - - - - - Default constructor - - - - - Positive and negative ratings - - - - Positive ratings for Behavior - - - Negative ratings for Behavior - - - Positive ratings for Appearance - - - Negative ratings for Appearance - - - Positive ratings for Building - - - Negative ratings for Building - - - Positive ratings given by this avatar - - - Negative ratings given by this avatar - - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - - First Life about text - - - First Life image ID - - - - - - - - - - - - - - - - - - - Profile image ID - - - Flags of the profile - - - Web URL for this profile - - - Should this profile be published on the web - - - Avatar Online Status - - - Is this a mature profile - - - - - - - - - - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - - Languages profile field - - - - - - - - - - - - - - - - - - - Groups that this avatar is a member of - - - Positive and negative ratings - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead - - - - Contains the visual parameters describing the deformation of the avatar - - - - First name - - - Last name - - - Full name - - - Active group - - - Information about agents display name - - - Agent UUID - - - Username - - - Display name - - - First name (legacy) - - - Last name (legacy) - - - Is display name default display name - - - Cache display name until - - - Full name (legacy) - - - - Creates AgentDisplayName object from OSD - - Incoming OSD data - AgentDisplayName object - - - - Return object as OSD map - - OSD containing agent's display name data - - - - Holds group information for Avatars such as those you might find in a profile - - - - true of Avatar accepts group notices - - - Groups Key - - - Texture Key for groups insignia - - - Name of the group - - - Powers avatar has in the group - - - Avatars Currently selected title - - - true of Avatar has chosen to list this in their profile - - - - Contains an animation currently being played by an agent - - - - The ID of the animation asset - - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client - - - - - - - - Holds group information on an individual profile pick - - - - - Retrieve friend status notifications, and retrieve avatar names and - profiles - - - - - Represents other avatars - - - - - - - Callback giving results when fetching display names - - If the request was successful - Array of display names - Array of UUIDs that could not be fetched - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Raised when the simulator sends us data containing - an agents animation playlist - - - Raised when the simulator sends us data containing - the appearance information for an agent - - - Raised when the simulator sends us data containing - agent names/id values - - - Raised when the simulator sends us data containing - the interests listed in an agents profile - - - Raised when the simulator sends us data containing - profile property information for an agent - - - Raised when the simulator sends us data containing - the group membership an agent is a member of - - - Raised when the simulator sends us data containing - name/id pair - - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at - - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at - - - Raised when the simulator sends us data containing - an agents viewer effect information - - - Raised when the simulator sends us data containing - the top picks from an agents profile - - - Raised when the simulator sends us data containing - the Pick details - - - Raised when the simulator sends us data containing - the classified ads an agent has placed - - - Raised when the simulator sends us data containing - the details of a classified ad - - - Raised when the simulator sends us data containing - the details of display name change - - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator - - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator - - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator - - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator - - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator - - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator - - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator - - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator - - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator - - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator - - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator - - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator - - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator - - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator - - - Raises the DisplayNameUpdate Event - A DisplayNameUpdateEventArgs object containing - the data sent from the simulator - - - Tracks the specified avatar on your map - Avatar ID to track - - - - Request a single avatar name - - The avatar key to retrieve a name for - - - - Request a list of avatar names - - The avatar keys to retrieve names for - - - - Check if Display Names functionality is available - - True if Display name functionality is available - - - - Request retrieval of display names (max 90 names per request) - - List of UUIDs to lookup - Callback to report result of the operation - - - - Start a request for Avatar Properties - - - - - - - Search for an avatar (first name, last name) - - The name to search for - An ID to associate with this query - - - - Start a request for Avatar Picks - - UUID of the avatar - - - - Start a request for Avatar Classifieds - - UUID of the avatar - - - - Start a request for details of a specific profile pick - - UUID of the avatar - UUID of the profile pick - - - - Start a request for details of a specific profile classified - - UUID of the avatar - UUID of the profile classified - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - EQ Message fired when someone nearby changes their display name - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - - - - - Construct a new instance of the AvatarAnimationEventArgs class - - The ID of the agent - The list of animations to start - - - Get the ID of the agent - - - Get the list of animations to start - - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - - - - Construct a new instance of the AvatarAppearanceEventArgs class - - The simulator request was from - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent - - - Get the Simulator this request is from of the agent - - - Get the ID of the agent - - - true if the agent is a trial account - - - Get the default agent texture - - - Get the agents appearance layer textures - - - Get the for the agent - - - Represents the interests from the profile of an agent - - - Get the ID of the agent - - - The properties of an agent - - - Get the ID of the agent - - - Get the ID of the agent - - - Get the ID of the agent - - - Get the ID of the avatar - - - - Event args class for display name notification messages - - - - - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - - - - - Searialize an animation asset into it's joints/keyframes/meta data - - - - - - - Rotation Keyframe count (used internally) - - - - - Position Keyframe count (used internally) - - - - - Animation Priority - - - - - The animation length in seconds. - - - - - Expression set in the client. Null if [None] is selected - - - - - The time in seconds to start the animation - - - - - The time in seconds to end the animation - - - - - Loop the animation - - - - - Meta data. Ease in Seconds. - - - - - Meta data. Ease out seconds. - - - - - Meta Data for the Hand Pose - - - - - Number of joints defined in the animation - - - - - Contains an array of joints - - - - - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. - - The animation asset byte array - The offset to start reading - a string - - - - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index - - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure - - - - Read Keyframes of a certain type - advance i - - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - - - - - - A Joint and it's associated meta data and keyframes - - - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - - - - - Joint Animation Override? Was the same as the Priority in testing.. - - - - - Array of Rotation Keyframes in order from earliest to latest - - - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - - - - - Custom application data that can be attached to a joint - - - - - A Joint Keyframe. This is either a position or a rotation. - - - - - Either a Vector3 position or a Vector3 Euler rotation - - - - - Poses set in the animation metadata for the hands. - - - - - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets - - - - - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position - - Byte array to pack bits in to or unpack from - Starting position in the byte array - - - - - - - - - - - - - - - - Pack a floating point value in to the data - - Floating point value to pack - - - - Pack part or all of an integer in to the data - - Integer containing the data to pack - Number of bits of the integer to pack - - - - Pack part or all of an unsigned integer in to the data - - Unsigned integer containing the data to pack - Number of bits of the integer to pack - - - - Pack a single bit in to the data - - Bit to pack - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unpacking a floating point value from the data - - Unpacked floating point value - - - - Unpack a variable number of bits from the data in to integer format - - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits - - - - Unpack a variable number of bits from the data in to unsigned - integer format - - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits - - - - Unpack a 16-bit signed integer - - 16-bit signed integer - - - - Unpack a 16-bit unsigned integer - - 16-bit unsigned integer - - - - Unpack a 32-bit signed integer - - 32-bit signed integer - - - - Unpack a 32-bit unsigned integer - - 32-bit unsigned integer - - - - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging - - - - - Default constructor - - - - - - - - - Triggered when an event is received via the EventQueueGet - capability - - Event name - Decoded event data - The simulator that generated the event - - - Reference to the simulator this system is connected to - - - Capabilities URI this system was initialized with - - - Whether the capabilities event queue is connected and - listening for incoming events - - - - Request the URI of a named capability - - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist - - - - Process any incoming events, check to see if we have a message created for the event, - - - - - - - - - Attempts to convert an LLSD structure to a known Packet type - - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null - - - Origin position of this coordinate frame - - - X axis of this coordinate frame, or Forward/At in grid terms - - - Y axis of this coordinate frame, or Left in grid terms - - - Z axis of this coordinate frame, or Up in grid terms - - - - - Looking direction, must be a normalized vector - Up direction, must be a normalized vector - - - - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians - - Absolute rotation around the Z axis in - radians - - - - Access to the data server which allows searching for land, events, people, etc - - - - - Constructs a new instance of the DirectoryManager class - - An instance of GridClient - - - Classified Ad categories - - - Classified is listed in the Any category - - - Classified is shopping related - - - Classified is - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event Categories - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - Flags can be combined using the | (pipe) character, not all flags are available in all queries - - - - Query the People database - - - - - - - - - - - Query the Groups database - - - Query the Events database - - - Query the land holdings database for land owned by the currently connected agent - - - - - - - Query the land holdings database for land which is owned by a Group - - - Specifies the query should pre sort the results based upon traffic - when searching the Places database - - - - - - - - - - - - - - - - - - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database - - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database - - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database - - - - - - - - - - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - - - - - - Land types to search dataserver for - - - - Search Auction, Mainland and Estate - - - Land which is currently up for auction - - - Parcels which are on the mainland (Linden owned) continents - - - Parcels which are on privately owned simulators - - - - The content rating of the event - - - - Event is PG - - - Event is Mature - - - Event is Adult - - - - Classified Ad Options - - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - - - - - - - - - - - - - - - - - - - - - - - - Classified ad query options - - - - Include all ads in results - - - Include PG ads in results - - - Include Mature ads in results - - - Include Adult ads in results - - - - The For Sale flag in PlacesReplyData - - - - Parcel is not listed for sale - - - Parcel is For Sale - - - - A classified ad on the grid - - - - UUID for this ad, useful for looking up detailed - information about it - - - The title of this classified ad - - - Flags that show certain options applied to the classified - - - Creation date of the ad - - - Expiration date of the ad - - - Price that was paid for this ad - - - Print the struct data as a string - A string containing the field name, and field value - - - - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search - - - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method - - - A string containing the name of the parcel - - - The size of the parcel - This field is not returned for Places searches - - - The price of the parcel - This field is not returned for Places searches - - - If True, this parcel is flagged to be auctioned - - - If true, this parcel is currently set for sale - - - Parcel traffic - - - Print the struct data as a string - A string containing the field name, and field value - - - - An Avatar returned from the dataserver - - - - Online status of agent - This field appears to be obsolete and always returns false - - - The agents first name - - - The agents last name - - - The agents - - - Print the struct data as a string - A string containing the field name, and field value - - - - Response to a "Groups" Search - - - - The Group ID - - - The name of the group - - - The current number of members - - - Print the struct data as a string - A string containing the field name, and field value - - - - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source - - - - The ID of the Agent of Group that owns the parcel - - - The name - - - The description - - - The Size of the parcel - - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 - - - Indicates the ForSale status of the parcel - - - The Gridwide X position - - - The Gridwide Y position - - - The Z position of the parcel, or 0 if no landing point set - - - The name of the Region the parcel is located in - - - The Asset ID of the parcels Snapshot texture - - - The calculated visitor traffic - - - The billing product SKU - Known values are: - 023Mainland / Full Region024Estate / Full Region027Estate / Openspace029Estate / Homestead129Mainland / Homestead (Linden Owned) - - - No longer used, will always be 0 - - - Get a SL URL for the parcel - A string, containing a standard SLURL - - - Print the struct data as a string - A string containing the field name, and field value - - - - An "Event" Listing summary - - - - The ID of the event creator - - - The name of the event - - - The events ID - - - A string containing the short date/time the event will begin - - - The event start time in Unixtime (seconds since epoch) - - - The events maturity rating - - - Print the struct data as a string - A string containing the field name, and field value - - - - The details of an "Event" - - - - The events ID - - - The ID of the event creator - - - The name of the event - - - The category - - - The events description - - - The short date/time the event will begin - - - The event start time in Unixtime (seconds since epoch) UTC adjusted - - - The length of the event in minutes - - - 0 if no cover charge applies - - - The cover charge amount in L$ if applicable - - - The name of the region where the event is being held - - - The gridwide location of the event - - - The maturity rating - - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL - - - Print the struct data as a string - A string containing the field name, and field value - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server - - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server - - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server - - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server - - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server - - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server - - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server - - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server - - - - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised - - - - Query the data server for a list of classified ads which contain specified keywords (Overload) - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - - - - Starts search for places (Overloaded) - The event is raised when a response is received from the simulator - - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - - - Queries the dataserver for parcels of land which are flagged to be shown in search - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - - - - - Starts a search for land sales using the directory - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - - - - Starts a search for land sales using the directory - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - - - - Send a request to the data server for land sales listings - - Flags sent to specify query options - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - Flags can be combined by separating them with the | (pipe) character - Additional details can be found in - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - - The event will be raised with the response from the simulator - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - - - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - - - - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - - - - - - Search the People directory for other avatars - - The name or portion of the name of the avatar you wish to search for - - - - - - - - Search Places for parcels of land you personally own - - - - - Searches Places for land owned by the specified group - - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. - - - - Search the Places directory for parcels that are listed in search and contain the specified keywords - - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - - - - Search Places - All Options - - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - - - - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult - - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. - - - - Search Events - - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - - Requests Event Details - ID of Event returned from the method - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Contains the Event data returned from the data server from an EventInfoRequest - - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event - - - - A single EventInfo object containing the details of an event - - - - Contains the "Event" detail data returned from the data server - - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query - - - The ID returned by - - - A list of "Events" returned by the data server - - - Contains the "Event" list data returned from the data server - - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query - - - The ID returned by - - - A list of "Places" returned by the data server - - - Contains the places data returned from the data server - - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server - - - The ID returned by - - - A list containing Places data returned by the data server - - - Contains the classified data returned from the data server - - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server - - - A list containing Classified Ads returned by the data server - - - Contains the group data returned from the data server - - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server - - - The ID returned by - - - A list containing Groups data returned by the data server - - - Contains the people data returned from the data server - - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server - - - The ID returned by - - - A list containing People data returned by the data server - - - Contains the land sales data returned from the data server - - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server - - - A list containing land forsale data returned by the data server - - - - Represends individual HTTP Download request - - - - Default constructor - - - Constructor - - - URI of the item to fetch - - - Timout specified in milliseconds - - - Download progress callback - - - Download completed callback - - - Accept the following content type - - - - Manages async HTTP downloads with a limit on maximum - concurrent downloads - - - - Default constructor - - - Maximum number of parallel downloads from a single endpoint - - - Client certificate - - - Cleanup method - - - Setup http download request - - - Check the queue for pending work - - - Enqueue a new HTPP download - - - Describes tasks returned in LandStatReply - - - - Estate level administration and utilities - - - - - Constructor for EstateTools class - - - - - - Used in the ReportType field of a LandStatRequest - - - Used by EstateOwnerMessage packets - - - Used by EstateOwnerMessage packets - - - - - - - No flags set - - - Only return targets scripted objects - - - Only return targets objects if on others land - - - Returns target's scripted objects and objects on other parcels - - - Ground texture settings for each corner of the region - - - Used by GroundTextureHeightSettings - - - The high and low texture thresholds for each corner of the sim - - - Textures for each of the four terrain height levels - - - Upper/lower texture boundaries for each corner of the sim - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server - - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server - - - - Requests estate information such as top scripts and colliders - - - - - - - - - - - - Requests estate settings, including estate manager and access/ban lists - - - Requests the "Top Scripts" list for the current region - - - Requests the "Top Colliders" list for the current region - - - - Set several estate specific configuration variables - - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - - - - Request return of objects owned by specified avatar - - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate - - - - - - - - - - - - Used for setting and retrieving various estate panel settings - - EstateOwnerMessage Method field - List of parameters to include - - - - Kick an avatar from an estate - - Key of Agent to remove - - - - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner - - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner - - - Send a message dialog to everyone in an entire estate - - Message to send all users in the estate - - - - Send a message dialog to everyone in a simulator - - Message to send all users in the simulator - - - - Send an avatar back to their home location - - Key of avatar to send home - - - - Begin the region restart process - - - - - Cancels a region restart - - - - Estate panel "Region" tab settings - - - Estate panel "Debug" tab settings - - - Used for setting the region's terrain textures for its four height levels - - - - - - - - - - - Used for setting sim terrain texture heights - - - Requests the estate covenant - - - - Upload a terrain RAW file - - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request - - - - Teleports all users home in current Estate - - - - - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner - - - - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner - - - - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true - - - - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true - - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised on LandStatReply when the report type is for "top colliders" - - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - The number of returned items in LandStatReply - - - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - Raised on LandStatReply when the report type is for "top Scripts" - - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - The number of scripts returned in LandStatReply - - - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned - - - - The identifier of the estate - - - - - The number of returned itmes - - - - - List of UUIDs of Banned Users - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of Allowed Users - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of Allowed Groups - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of the Estate's Managers - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) - - - - The Covenant - - - - - The timestamp - - - - - The Estate name - - - - - The Estate Owner's ID (can be a GroupID) - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - - - - - - The estate's name - - - - - The Estate Owner's ID (can be a GroupID) - - - - - The identifier of the estate on the grid - - - - - - - - - Registers, unregisters, and fires events generated by incoming packets - - - - - Default constructor - - - - - - - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks - - - - Callback to fire for this packet - - - Reference to the simulator that this packet came from - - - The packet that needs to be processed - - - Reference to the GridClient object - - - - Register an event handler - - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous - - - - Unregister an event handler - - Packet type to unregister the handler for - Callback to be unregistered - - - - Fire the events registered for this packet type - - Incoming packet type - Incoming packet - Simulator this packet was received from - - - - Registers, unregisters, and fires events generated by the Capabilities - event queue - - - - - Default constructor - - Reference to the GridClient object - - - - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks - - - - Callback to fire for this packet - - - Name of the CAPS event - - - Strongly typed decoded data - - - Reference to the simulator that generated this event - - - Reference to the GridClient object - - - - Register an new event handler for a capabilities event sent via the EventQueue - - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire - - - - Unregister a previously registered capabilities handler - - Capability event name unregister the - handler for - Callback to unregister - - - - Fire the events registered for this event type synchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event - - - - Fire the events registered for this event type asynchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event - - - - - - - The avatar has no rights - - - The avatar can see the online status of the target avatar - - - The avatar can see the location of the target avatar on the map - - - The avatar can modify the ojects of the target avatar - - - - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights - - - - - Used internally when building the initial list of friends at login time - - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects - - - - System ID of the avatar - - - - - full name of the avatar - - - - - True if the avatar is online - - - - - True if the friend can see if I am online - - - - - True if the friend can see me on the map - - - - - True if the freind can modify my objects - - - - - True if I can see if my friend is online - - - - - True if I can see if my friend is on the map - - - - - True if I can modify my friend's objects - - - - - My friend's rights represented as bitmapped flags - - - - - My rights represented as bitmapped flags - - - - - FriendInfo represented as a string - - A string reprentation of both my rights and my friends rights - - - - This class is used to add and remove avatars from your friends list and to manage their permission. - - - - - Internal constructor - - A reference to the GridClient Object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - - A dictionary of key/value pairs containing known friends of this avatar. - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend - - - - - A Dictionary of key/value pairs containing current pending frienship offers. - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer - - - - Raised when the simulator sends notification one of the members in our friends list comes online - - - Raised when the simulator sends notification one of the members in our friends list goes offline - - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - - Raised when the simulator sends us the names on our friends list - - - Raised when the simulator sends notification another agent is offering us friendship - - - Raised when a request we sent to friend another agent is accepted or declined - - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship - - - Raised when the simulator sends the location of a friend we have - requested map location info for - - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server - - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server - - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server - - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server - - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server - - - - Accept a friendship request - - agentID of avatatar to form friendship with - imSessionID of the friendship request message - - - - Decline a friendship request - - - of friend - imSessionID of the friendship request message - - - - Overload: Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - - - - Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - A message to send with the request - - - - Terminate a friendship with an avatar - - System ID of the avatar you are terminating the friendship with - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Change the rights of a friend avatar. - - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. - - - - Use to map a friends location on the grid. - - Friends UUID to find - - - - - - - Use to track a friends movement on the grid - - Friends Key - - - - Ask for a notification of friend's online status - - Friend's UUID - - - - This handles the asynchronous response of a RequestAvatarNames call. - - - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Populate FriendList with data from the login reply - - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server - - - Contains information on a member of our friends list - - - - Construct a new instance of the FriendInfoEventArgs class - - The FriendInfo - - - Get the FriendInfo - - - Contains Friend Names - - - - Construct a new instance of the FriendNamesEventArgs class - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - - Sent when another agent requests a friendship with our agent - - - - Construct a new instance of the FriendshipOfferedEventArgs class - - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer - - - Get the ID of the agent requesting friendship - - - Get the name of the agent requesting friendship - - - Get the ID of the session, used in accepting or declining the - friendship offer - - - A response containing the results of our request to form a friendship with another agent - - - - Construct a new instance of the FriendShipResponseEventArgs class - - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer - - - Get the ID of the agent we requested a friendship with - - - Get the name of the agent we requested a friendship with - - - true if the agent accepted our friendship offer - - - Contains data sent when a friend terminates a friendship with us - - - - Construct a new instance of the FrindshipTerminatedEventArgs class - - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us - - - Get the ID of the agent that terminated the friendship with us - - - Get the name of the agent that terminated the friendship with us - - - - Data sent in response to a request which contains the information to allow us to map the friends location - - - - - Construct a new instance of the FriendFoundReplyEventArgs class - - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located - - - Get the ID of the agent we have received location information for - - - Get the region handle where our mapped friend is located - - - Get the simulator local position where our friend is located - - - - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. - - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - - - - - Default constructor - - - - Networking subsystem - - - Settings class including constant values and changeable - parameters for everything - - - Parcel (subdivided simulator lots) subsystem - - - Our own avatars subsystem - - - Other avatars subsystem - - - Estate subsystem - - - Friends list subsystem - - - Grid (aka simulator group) subsystem - - - Object subsystem - - - Group subsystem - - - Asset subsystem - - - Appearance subsystem - - - Inventory subsystem - - - Directory searches including classifieds, people, land - sales, etc - - - Handles land, wind, and cloud heightmaps - - - Handles sound-related networking - - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types - - - - Return the full name of this instance - - Client avatars full name - - - - Map layer request type - - - - Objects and terrain are shown - - - Only the terrain is shown, no objects - - - Overlay showing land for sale and for auction - - - - Type of grid item, such as telehub, event, populator location, etc. - - - - Telehub - - - PG rated event - - - Mature rated event - - - Popular location - - - Locations of avatar groups in a region - - - Land for sale - - - Classified ad - - - Adult rated event - - - Adult land for sale - - - - Information about a region on the grid map - - - - Sim X position on World Map - - - Sim Y position on World Map - - - Sim Name (NOTE: In lowercase!) - - - - - - - Appears to always be zero (None) - - - Sim's defined Water Height - - - - - - - UUID of the World Map image - - - Unique identifier for this region, a combination of the X - and Y position - - + + Generates a series of faces, each face containing a mesh and + metadata - - + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - + + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata - - + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - + + Apply texture coordinate modifications from a + to a list of vertices - - - - + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters + Scale of the prim - + - Visual chunk of the grid map + Represents Mesh asset - + - Base class for Map Items + Decoded mesh data - - The Global X position of the item + + Initializes a new instance of an AssetMesh object - - The Global Y position of the item + + Initializes a new instance of an AssetMesh object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Get the Local X position of the item - - - Get the Local Y position of the item - - - Get the Handle of the region - - - - Represents an agent or group of agents location - - - - - Represents a Telehub location - - - - - Represents a non-adult parcel of land for sale - - - - - Represents an Adult parcel of land for sale - - - - - Represents a PG Event - - - - - Represents a Mature event - - - - - Represents an Adult event - - - - - Manages grid-wide tasks such as the world map - - - - - Constructor - - Instance of GridClient object to associate with this GridManager instance - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - A dictionary of all the regions, indexed by region name - - - A dictionary of all the regions, indexed by region handle - - - Raised when the simulator sends a - containing the location of agents in the simulator - - - Raised when the simulator sends a Region Data in response to - a Map request - - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information - - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location - - - Raised in response to a Region lookup - - - Unknown - - - Current direction of the sun - - - Current angular velocity of the sun - - - Microseconds since the start of SL 4-hour day - - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator - - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator - - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator - - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator - - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator - - + + TODO: Encodes Collada file into LLMesh format - - - + - Request a map layer - - The name of the region - The type of layer + Decodes mesh asset. See + to furter decode it for rendering + true - - - - - - - - - - - - - - - + + Override the base classes AssetType - + + Archives assets - - - - - - - - - - - + + Archive assets - - - - - - - + - Request data for all mainland (Linden managed) simulators + Archive the assets given to this archiver to the given archive. + - + - Request the region handle for the specified region UUID + Write an assets metadata file to the given archive - UUID of the region to look up + - + - Get grid region information using the region name, this function - will block until it can find the region or gives up + Write asset data files to the given archive - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + @@ -8803,16 +16803,13 @@ Will group show up in search - - + - - + - - + Is the group Mature @@ -8821,12 +16818,10 @@ Cost of group membership - - + - - + The total number of current members this group has @@ -8869,89 +16864,72 @@ The required ration of yes/no votes required for vote to pass The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum + TODO: this should be an enum + The duration in days votes are accepted + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + @@ -8959,26 +16937,22 @@ - - + - - + - - + - - + + - - + @@ -9009,7 +16983,7 @@ - The of the Avatar + The of the Avatar True if user has voice chat enabled @@ -9029,32 +17003,25 @@ - - + - - + - - + - - + - - + - - + - - + Can send invitations to groups default role @@ -9131,7 +17098,7 @@ Can toggle 'Edit Terrain' option in Land settings - Can toggle various About Land > Options settings + Can toggle various About Land > Options settings Can always terraform land, even if parcel settings have it turned off @@ -9184,6 +17151,9 @@ Pay group liabilities and receive group dividends + + List and Host group events + Can send group notices @@ -9202,104 +17172,173 @@ information - - - Construct a new instance of the GroupManager class - - A reference to the current instance - The event subscribers. null if no subcribers + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupCreated event + An GroupCreatedEventArgs object containing the + data returned from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupMemberEjected event + An GroupMemberEjectedEventArgs object containing the + data returned from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupNoticesListReply event + An GroupNoticesListReplyEventArgs object containing the + data returned from the simulator + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupInvitation event + An GroupInvitationEventArgs object containing the + data returned from the simulator + Thread sync lock object - A reference to the current instance + A reference to the current instance Currently-active group members requests @@ -9322,132 +17361,11 @@ Caches group name lookups - - Raised when the simulator sends us data containing - our current group membership - - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator - - - Raised when a request to create a group is successful - - - Raised when a request to join a group either - fails or succeeds - - - Raised when a request to leave a group either - fails or succeeds - - - Raised when A group is removed from the group server - - - Raised when a request to eject a member from a group either - fails or succeeds - - - Raised when the simulator sends us group notices - - - - Raised when another agent invites our avatar to join a group - - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator - - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator - - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator - - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator - - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator - - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator - - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator - - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator - - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator - - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator - - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator - - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left - - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator - - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator - - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator + + + Construct a new instance of the GroupManager class + + A reference to the current instance @@ -9528,7 +17446,7 @@ Save wheather agent wants to accept group notices and list this group in their profile - Group + Group Accept notices from this group List this group in the profile @@ -9592,14 +17510,12 @@ Send out a group notice Group ID to update - - GroupNotice structure containing notice data + GroupNotice structure containing notice data Start a group proposal (vote) The Group ID to send proposal to - - GroupProposal structure containing the proposal + GroupProposal structure containing the proposal Request to leave a group @@ -9681,6 +17597,58 @@ The sender The EventArgs object containing the packet data + + Raised when the simulator sends us data containing + our current group membership + + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator + + + Raised when a request to create a group is successful + + + Raised when a request to join a group either + fails or succeeds + + + Raised when a request to leave a group either + fails or succeeds + + + Raised when A group is removed from the group server + + + Raised when a request to eject a member from a group either + fails or succeeds + + + Raised when the simulator sends us group notices + + + + Raised when another agent invites our avatar to join a group + Contains the current groups your agent is a member of @@ -9866,7 +17834,7 @@ Provides notification of a group invitation request sent by another Avatar - The invitation is raised when another avatar makes an offer for our avatar + The invitation is raised when another avatar makes an offer for our avatar to join a group. @@ -9885,4534 +17853,992 @@ Set to true to accept invitation, false to decline - + - Static helper functions and global variables + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances - - - Passed to Logger.Log() to identify the severity of a log entry - - - - No logging information will be output - - - Non-noisy useful information, may be helpful in - debugging a problem - - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue - - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain - - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. - - - - This header flag signals that ACKs are appended to the packet - - - This header flag signals that this packet has been sent before - - - This header flags signals that an ACK is expected for this packet - - - This header flag signals that the message is compressed using zerocoding - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region - - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to - - - - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - - Floating point number to convert to a string - A terse string representation of the input number - - - - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output - - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output - - - - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer - - - - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer - - - - Calculates the CRC (cyclic redundancy check) needed to upload inventory. - - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC - - - - Attempts to load a file embedded in the assembly - - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded - - - - Attempts to load a file either embedded in the assembly or found in - a given search path - - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded - - - - Converts a list of primitives to an object that can be serialized - with the LLSD system - - Primitives to convert to a serializable object - An object that can be serialized with LLSD - - - - Deserializes OSD in to a list of primitives - - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives - - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - - - - - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - - Key - Value - - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - - - - - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - - - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - - - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - - - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member - - - - Indexer for the dictionary - - The key - The value - - - - Gets the number of Key/Value pairs contained in the - - - - Try to get entry from with specified key - - Key to use for lookup - Value returned - - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - - - Perform an on each entry in an - - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - - - - Perform an on each key of an - - to perform - - - - Perform an on each KeyValuePair of an - - to perform - - - Check if Key exists in Dictionary - Key to check for - - if found, otherwise - - - Check if Value exists in Dictionary - Value to check for - - if found, otherwise - - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - The key - The value - - - - Removes the specified key, dictionary locking is not performed - - The key. - - if successful, otherwise - - - - Exception class to identify inventory exceptions - - - - - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. - - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. - - - - The root folder of this avatars inventory - - - - - The default shared library folder - - - - - The root node of the avatars inventory - - - - - The root node of the default shared library - - - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator - - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator - - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator - - - - Returns the contents of the specified folder - - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory - - - - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - You can not set the inventory root folder using this method - - The InventoryObject to store - - - - Removes the InventoryObject and all related node data from Inventory. - - The InventoryObject to remove. - - - - Used to find out if Inventory contains the InventoryObject - specified by uuid. - - The UUID to check. - true if inventory contains uuid, false otherwise - - - - Saves the current inventory structure to a cache file - - Name of the cache file to save to - - - - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. - - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree - - - Sort by name - - - Sort by date - - - Sort folders by name, regardless of whether items are - sorted by name or date - - - Place system folders at the top - - - - Possible destinations for DeRezObject request - - - - - - - - Copy from in-world to agent inventory - - - Derez to TaskInventory - - - - - - - Take Object - - - - - - - Delete Object - - - Put an avatar attachment into agent inventory - - - - - - - Return an object back to the owner's inventory - - - Return a deeded object back to the last owner's inventory - - - - Upper half of the Flags field for inventory items - - - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez - - - Indicates that the object sale information has been - changed - - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - - Indicates whether this object is composed of multiple - items or not - - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted - - - - Base Class for Inventory Items - - - - - Constructor, takes an itemID as a parameter - - The of the item - - - - - - - - - - of item/folder - - - - of parent folder - - - Name of item/folder - - - Item/Folder Owners - - - - - - - - - - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryBase fields - - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same - - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same - - - - An Item in Inventory - - - - - Construct a new InventoryItem object - - The of the item - - - - Construct a new InventoryItem object of a specific Type - - The type of item from - - of the item - - - - - - - - - The of this item - - - The combined of this item - - - The type of item from - - - The type of item from the enum - - - The of the creator of this item - - - A Description of this item - - - The s this item is set to or owned by - - - If true, item is owned by a group - - - The price this item can be purchased for - - - The type of sale from the enum - - - Combined flags from - - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) - - - Used to update the AssetID in requests sent to the server - - - The of the previous owner of the item - - - - Indicates inventory item is a link - - True if inventory item is a link to another inventory item - - - - - - - - - - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryItem fields - - - - Compares an object - - The object to compare - true if comparison object matches - - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same - - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same - - - - InventoryTexture Class representing a graphical image - - - - - - Construct an InventoryTexture object - - A which becomes the - objects AssetUUID + + Final baked texture - - - Construct an InventoryTexture object from a serialization stream - - - - - InventorySound Class representing a playable sound - - - - - Construct an InventorySound object - - A which becomes the - objects AssetUUID - - - - Construct an InventorySound object from a serialization stream - - - - - InventoryCallingCard Class, contains information on another avatar - - - - - Construct an InventoryCallingCard object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryCallingCard object from a serialization stream - - - - - InventoryLandmark Class, contains details on a specific location - - - - - Construct an InventoryLandmark object - - A which becomes the - objects AssetUUID + + Component layers - - - Construct an InventoryLandmark object from a serialization stream - - - - - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited - - - - - InventoryObject Class contains details on a primitive or coalesced set of primitives - - - - - Construct an InventoryObject object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryObject object from a serialization stream - + + Width of the final baked image and scratchpad - - - Gets or sets the upper byte of the Flags value - + + Height of the final baked image and scratchpad - - - Gets or sets the object attachment point, the lower byte of the Flags value - - - - - InventoryNotecard Class, contains details on an encoded text document - - - - - Construct an InventoryNotecard object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryNotecard object from a serialization stream - - - - - InventoryCategory Class - - TODO: Is this even used for anything? - - - - Construct an InventoryCategory object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryCategory object from a serialization stream - - - - - InventoryLSL Class, represents a Linden Scripting Language object - - - - - Construct an InventoryLSL object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryLSL object from a serialization stream - - - - - InventorySnapshot Class, an image taken with the viewer - - - - - Construct an InventorySnapshot object - - A which becomes the - objects AssetUUID - - - - Construct an InventorySnapshot object from a serialization stream - - - - - InventoryAttachment Class, contains details on an attachable object - - - - - Construct an InventoryAttachment object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryAttachment object from a serialization stream - - - - - Get the last AttachmentPoint this object was attached to - - - - - InventoryWearable Class, details on a clothing item or body part - - - - - Construct an InventoryWearable object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryWearable object from a serialization stream - - - - - The , Skin, Shape, Skirt, Etc - - - - - InventoryAnimation Class, A bvh encoded object which animates an avatar - - - - - Construct an InventoryAnimation object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryAnimation object from a serialization stream - - - - - InventoryGesture Class, details on a series of animations, sounds, and actions - - - - - Construct an InventoryGesture object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryGesture object from a serialization stream - - - - - A folder contains s and has certain attributes specific - to itself - - - - - Constructor - - UUID of the folder - - - - Construct an InventoryFolder object from a serialization stream - - - - The Preferred for a folder. - - - The Version of this folder - - - Number of child items this folder contains. - - - - - - - - - - Get Serilization data for this InventoryFolder object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tools for dealing with agents inventory - + + Bake type - + Default constructor - Reference to the GridClient object + Bake type - + - Callback for inventory item creation finishing + Adds layer for baking - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null + TexturaData struct that contains texture and its params - + - Callback for an inventory item being create from an uploaded asset + Converts avatar texture index (face) to Bake type - true if inventory item creation was successful - - - - - - - - - - - - + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to - + - Reply received when uploading an inventory asset + Make sure images exist, resize source if needed to match the destination - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID + Destination image + Source image + Sanitization was succefull - + - Delegate that is invoked when script upload is completed + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - - Used for converting shadow_id to asset_id - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Partial mapping of AssetTypes to folder names - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... + Color of the base of this layer - - Raised when the simulator sends us data containing - ... - - + - Get this agents Inventory data + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + Red value + Green value + Blue value - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator - - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator - - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator - - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator - - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator - - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator - - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator - - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator - - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event + + Final baked texture - - - Request A single inventory item - - The items - The item Owners - + + Component layers - - - Request inventory items - - Inventory items to request - Owners of the inventory items - + + Width of the final baked image and scratchpad - - - Get contents of a folder - - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested - - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - - - - - Request the contents of an inventory folder using HTTP capabilities - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - - - - - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - - This will return the root folder if one does not exist - - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure + + Height of the final baked image and scratchpad - - - Find an object in inventory using a specific path to search - - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found - - - - Find inventory items by path - - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event + + Bake type - - - Search inventory Store object for an item or folder - - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found + + Is this one of the 3 skin bakes - + - Move an inventory item or folder to a new location + Represents a Sound Asset - The item or folder to move - The to move item or folder to - - - Move an inventory item or folder to a new location and change its name - - The item or folder to move - The to move item or folder to - The name to change the item or folder to + + Initializes a new instance of an AssetSound object - - - Move and rename a folder - - The source folders - The destination folders - The name to change the folder to + + Initializes a new instance of an AssetSound object with parameters + A unique specific to this asset + A byte array containing the raw asset data - + - Update folder properties + TODO: Encodes a sound file - - of the folder to update - Sets folder's parent to - Folder name - Folder type - + - Move a folder + TODO: Decode a sound file - The source folders - The destination folders + true - - - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - - A Dictionary containing the - of the source as the key, and the - of the destination as the value + + Override the base classes AssetType - + - Move an inventory item to a new folder + Represents an that represents an avatars body ie: Hair, Etc. - The of the source item to move - The of the destination folder - - - Move and rename an inventory item - - The of the source item to move - The of the destination folder - The name to change the folder to + + Initializes a new instance of an AssetBodyPart object - - - Move multiple inventory items to new locations - - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - - Remove descendants of a folder - - The of the folder + + Override the base classes AssetType - + - Remove a single item from inventory + Avatar profile flags - The of the inventory item to remove - + - Remove a folder from inventory + Represents an avatar (other than your own) - The of the folder to remove - - - Remove multiple items or folders from inventory - - A List containing the s of items to remove - A List containing the s of the folders to remove + + Groups that this avatar is a member of - - - Empty the Lost and Found folder - + + Positive and negative ratings - - - Empty the Trash folder - + + Avatar properties including about text, profile URL, image IDs and + publishing settings - - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - - - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder - - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use AssetType.Unknown - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems - - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure - - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure - - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link - - - - Creates inventory link to another inventory item - - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link - - - - Creates inventory link to another inventory folder - - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link - - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Request a copy of an asset embedded within a notecard - - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory - - - - - - - - - - - - - - - - - - - - + + Avatar interests including spoken languages, skills, and "want to" + choices - - - - - - - - - - - - - Save changes to notecard embedded in object contents - - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information - - - - Upload new gesture asset for an inventory gesture item - - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete - - - - Update an existing script in an agents Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - - - - - - Update an existing script in an task Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - - - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object - - - - DeRez an object from the simulator to the agents Objects folder in the agents Inventory - - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - - - DeRez an object from the simulator and return to inventory - - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - - - Rez an item from inventory to its previous simulator location - - - - - - - - - - - - - Give an inventory item to another avatar - - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - - - - Give an inventory Folder with contents to another avatar - - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - - - - Copy or move an from agent inventory to a task (primitive) inventory - - The target object - The item to copy or move from inventory - - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory - - - - Retrieve a listing of the items contained in a task (Primitive) - - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded - - - - Request the contents of a tasks (primitives) inventory from the - current simulator - - The LocalID of the object - - - - - Request the contents of a tasks (primitives) inventory - - The simulator Local ID of the object - A reference to the simulator object that contains the object - - - - - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory - - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event - - - - Remove an item from an objects (Prim) Inventory - - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event - - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - - - - - Request the running status of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - - - - - Send a request to set the running state of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event - - - - Create a CRC from an InventoryItem - - The source InventoryItem - A uint representing the source InventoryItem as a CRC - - - - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id - - Obfuscated shadow_id value - Deobfuscated asset_id value - - - - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id - - asset_id value to obfuscate - Obfuscated shadow_id value - - - - Wrapper for creating a new object - - The type of item from the enum - The of the newly created object - An object with the type and id passed - - - - Parse the results of a RequestTaskInventory() response - - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased - - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Set to true to accept offer, false to decline it - - - The folder to accept the inventory into, if null default folder for will be used - - - - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. - - - - - - - - - - - - - - - De-serialization constructor for the InventoryNode Class - - - - - De-serialization handler for the InventoryNode Class - - - - - - - - - - - - - + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead - + + Contains the visual parameters describing the deformation of the avatar - + - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server + Appearance version. Value greater than 0 indicates using server side baking - + - Serialization handler for the InventoryNode Class + Version of the Current Outfit Folder that the appearance is based on - + + Appearance flags. Introduced with server side baking, currently unused. - - - + - Singleton logging class for the entire library + List of current avatar animations - + Default constructor - - - Callback used for client apps to receive log messages from - the library - - Data being logged - The severity of the log entry from - - - log4net logging engine - - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Exception that was raised - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - Exception that was raised - - - - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - - - - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - Instance of the client - - + + First name + + + Last name + + + Full name + + + Active group + + + Positive and negative ratings - + + Positive ratings for Behavior + + + Negative ratings for Behavior + + + Positive ratings for Appearance + + + Negative ratings for Appearance + + + Positive ratings for Building + + + Negative ratings for Building + + + Positive ratings given by this avatar + + + Negative ratings given by this avatar + + + Avatar properties including about text, profile URL, image IDs and + publishing settings - + + First Life about text + + + First Life image ID + + + + + + + + + + + + + + + Profile image ID + + + Flags of the profile + + + Web URL for this profile + + + Should this profile be published on the web + + + Avatar Online Status + + + Is this a mature profile + + + + + + + + + Avatar interests including spoken languages, skills, and "want to" + choices - + + Languages profile field + + + + + + + + + + + + + + + Index of TextureEntry slots for avatar appearances - + + Bake layers for avatar appearance - + + Appearance Flags, introdued with server side baking, currently unused - + + Maximum number of concurrent downloads for wearable assets and textures + + + Maximum number of concurrent uploads for baked textures + + + Timeout for fetching inventory listings + + + Timeout for fetching a single wearable, or receiving a single packet response + + + Timeout for fetching a single texture + + + Timeout for uploading a single baked texture + + + Number of times to retry bake upload + + + When changing outfit, kick off rebake after + 20 seconds has passed since the last change + + + Total number of wearables for each avatar + + + Total number of baked textures on each avatar + + + Total number of wearables per bake layer + + + Mask for multiple attachments + + + Mapping between BakeType and AvatarTextureIndex + + + Map of what wearables are included in each bake + + + Magic values to finalize the cache check hashes for each + bake + + + Default avatar texture, used to detect when a custom + texture is not set for a face + + + The event subscribers. null if no subcribers + + + Raises the AgentWearablesReply event + An AgentWearablesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the CachedBakesReply event + An AgentCachedBakesReplyEventArgs object containing the + data returned from the data server AgentCachedTextureResponse + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AppearanceSet event + An AppearanceSetEventArgs object indicating if the operatin was successfull + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the RebakeAvatarRequested event + An RebakeAvatarTexturesEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + Visual parameters last sent to the sim + + + Textures about this client sent to the sim + + + A cache of wearables currently being worn + + + A cache of textures currently being worn + + + Incrementing serial number for AgentCachedTexture packets + + + Incrementing serial number for AgentSetAppearance packets + + + Indicates if WearablesRequest succeeded + + + Indicates whether or not the appearance thread is currently + running, to prevent multiple appearance threads from running + simultaneously + + + Reference to our agent + + + Timer used for delaying rebake on changing outfit - + + Main appearance thread - + - Login Request Parameters + Is server baking complete. It needs doing only once - - - Default constuctor, initializes sane default values - - - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server - - - The URL of the Login Server - - - The number of milliseconds to wait before a login is considered - failed due to timeout - - - The request method - login_to_simulator is currently the only supported method - - - The Agents First name - - - The Agents Last name - - - A md5 hashed password - plaintext password will be automatically hashed - - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - - A string containing the client software channel information - Second Life Release - - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer - - - A string containing the platform information the agent is running on - - - A string hash of the network cards Mac Address - - - Unknown or deprecated - - - A string hash of the first disk drives ID used to identify this clients uniqueness - - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string - - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information - - - If true, this agent agrees to the Terms of Service of the grid its connecting to - - - Unknown - - - An array of string sent to the login server to enable various options - - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire - - - - The decoded data returned from the login server after a successful login - - - - true, false, indeterminate - - - Login message of the day - - - M or PG, also agent_region_access and agent_access_max - - - - Parse LLSD Login Reply Data - - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes - - - - Login Routines - - - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. - - - + Default constructor - Reference to the GridClient object + A reference to our agent - + - Explains why a simulator or the grid disconnected from us + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - - The client requested the logout or simulator disconnect - - - The server notified us that it is disconnecting - - - Either a socket was closed or network traffic timed out - - - The last active simulator shut down - - - - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling - - - - Reference to the simulator that this packet came from - - - Packet that needs to be processed - - - - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending - - - - Reference to the simulator this packet is destined for - - - Packet that needs to be sent - - - Sequence number of the wrapped packet - - - Number of times this packet has been resent - - - Environment.TickCount when this packet was last sent over the wire - - - Type of the packet - - - - - - - - - - - - - - - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Seed CAPS URL returned from the login server - - - Maximum number of groups an agent can belong to, -1 for unlimited - - - XMPP server to connect to for Group chat and IM services - - - A list of packets obtained during the login process which - networkmanager will log but not process - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - All of the simulators we are currently connected to - - - Handlers for incoming capability events - - - Handlers for incoming packets - - - Incoming packets that are awaiting handling - - - Outgoing packets that are awaiting handling - - - Raised when the simulator sends us data containing - ... - - - Called when a reply is received from the login server, the - login sequence will block until this event returns - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Current state of logging in - - - Upon login failure, contains a short string key for the - type of login error that occurred - - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) - - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned - - - Unique identifier associated with our connections to - simulators - - - The simulator that the logged in avatar is currently - occupying - - - Shows whether the network layer is logged in to the - grid or not - - - Number of packets in the incoming queue - - - Number of packets in the outgoing queue - - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator - - - - Generate sane default values for a login request - - Account first name - Account last name - Account password - Client application name - Client application version - A populated struct containing - sane defaults - - - - Simplified login that takes the most common and required fields - - Account first name - Account last name - Account password - Client application name - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password - - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name - Starting location URI that can be built with - StartLocation() - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Login that takes a struct of all the values that will be passed to - the login server - - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Build a start location URI for passing to the Login function - - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location - - - - LoginParams and the initial login XmlRpcRequest were made on a remote machine. - This method now initializes libomv with the results. - - - - - Handles response from XML-RPC login replies - - - - - Handles response from XML-RPC login replies with already parsed LoginResponseData - - - - - Handle response from LLSD login replies - - - - - - - - - - - Get current OS - - Either "Win" or "Linux" - - - - Get clients default Mac Address - - A string containing the first found Mac Address - - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator - - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator - - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator - - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator - - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator - - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator - - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator - - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator - - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received - - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received - True if the callback should be ran - asynchronously. Only set this to false (synchronous for callbacks - that will always complete quickly) - If any callback for a packet type is marked as - asynchronous, all callbacks for that packet type will be fired - asynchronously - - - - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type this callback is registered with - Callback to stop firing events for - - - - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received - - - - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event this callback is - registered with - Callback to stop firing events for - - - - Send a packet to the simulator the avatar is currently occupying - - Packet to send - - - - Send a packet to a specified simulator - - Packet to send - Simulator to send the packet to - - - - Connect to a simulator - - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - - - - Connect to a simulator - - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - - - - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down - - - - - Initiate the logout process. Check if logout succeeded with the - OnLogoutReply event, and if this does not fire the - Shutdown() function needs to be manually called - - - - - Close a connection to the given simulator - - - - - - - - - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - Type of shutdown - - - - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - Type of shutdown - Shutdown message - - - - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint - - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null - - - - Fire an event when an event queue connects for capabilities - - Simulator the event queue is attached to - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets - - - - - Constructor that takes all the fields as parameters - - - - - - - - - - - - - - - Constructor that takes a single line from a NameValue field - - - - - - Type of the value - - - Unknown - - - String value - - - - - - - - - - - - - - - - - - - Deprecated - - - String value, but designated as an asset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No report - - - Unknown report type - - - Bug report - - - Complaint report - - - Customer service report - - - - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object - - - - Unknown - - - Whether the object has a TreeSpecies - - - Whether the object has floating text ala llSetText - - - Whether the object has an active particle system - - - Whether the object has sound attached to it - - - Whether the object is attached to a root object or not - - - Whether the object has texture animation settings - - - Whether the object has an angular velocity - - - Whether the object has a name value pairs string - - - Whether the object has a Media URL set - - + - Specific Flags for MultipleObjectUpdate requests + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread + Unused parameter - - None - - - Change position of prims - - - Change rotation of prims - - - Change size of prims - - - Perform operation on link set - - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale - - + - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use + Starts the appearance setting thread - + - Indicates that this pay option should be hidden + Starts the appearance setting thread + True to force rebaking, otherwise false - + - Indicates that this pay option should have the default value + Check if current region supports server side baking + True if server side baking support is detected - + - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars + Ask the server what textures our agent is currently wearing - + + Build hashes out of the texture assetIDs for each baking layer to + ask the simulator whether it has cached copies of each baked texture - + + Returns the AssetID of the asset that is currently being worn in a + given WearableType slot + WearableType slot to get the AssetID for + The UUID of the asset being worn in the given slot, or + UUID.Zero if no wearable is attached to the given slot or wearables + have not been downloaded yet - + + Add a wearable to the current outfit and set appearance + Wearable to be added to the outfit - + + Add a wearable to the current outfit and set appearance + Wearable to be added to the outfit + Should existing item on the same point or of the same type be replaced - + + Add a list of wearables to the current outfit and set appearance + List of wearable inventory items to + be added to the outfit + Should existing item on the same point or of the same type be replaced - + + Add a list of wearables to the current outfit and set appearance + List of wearable inventory items to + be added to the outfit + Should existing item on the same point or of the same type be replaced - + + Remove a wearable from the current outfit and set appearance + Wearable to be removed from the outfit - + + Removes a list of wearables from the current outfit and set appearance + List of wearable inventory items to + be removed from the outfit - + + Replace the current outfit with a list of wearables and set appearance + List of wearable inventory items that + define a new outfit - + + Replace the current outfit with a list of wearables and set appearance + List of wearable inventory items that + define a new outfit + Check if we have all body parts, set this to false only + if you know what you're doing - + - Handles all network traffic related to prims and avatar positions and - movement. + Checks if an inventory item is currently being worn + The inventory item to check against the agent + wearables + The WearableType slot that the item is being worn in, + or WearbleType.Invalid if it is not currently being worn - + - Construct a new instance of the ObjectManager class + Returns a copy of the agents currently worn wearables - A reference to the instance + A copy of the agents currently worn wearables + Avoid calling this function multiple times as it will make + a copy of all of the wearable data each time - + - Callback for getting object media data via CAP + Calls either or + depending on the value of + replaceItems - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object + List of wearable inventory items to add + to the outfit or become a new outfit + True to replace existing items with the + new list of items, false to add these items to the existing outfit - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Reference to the GridClient object - - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects - - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - - - - Raised when the simulator sends us data containing - additional information - - - - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking - - - Raised when the simulator sends us data containing - additional and details - - - - Raised when the simulator sends us data containing - updated information for an - - - Raised when the simulator sends us data containing - and movement changes - - - Raised when the simulator sends us data containing - updates to an Objects DataBlock - - - Raised when the simulator informs us an - or is no longer within view - - - Raised when the simulator sends us data containing - updated sit information for our - - - Raised when the simulator sends us data containing - purchase price information for a - - - Raised when the simulator sends us data containing - additional information - - - - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator - - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator - - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator - - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator - - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator - - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator - - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator - - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator - - - Raises the PhysicsProperties Event - A PhysicsPropertiesEventArgs object containing - the data sent from the simulator - - + - Request information for a single object from a - you are currently connected to + Adds a list of attachments to our agent - The the object is located - The Local ID of the object + A List containing the attachments to add + If true, tells simulator to remove existing attachment + first - + - Request information for multiple objects contained in - the same simulator + Adds a list of attachments to our agent - The the objects are located - An array containing the Local IDs of the objects + A List containing the attachments to add + If true, tells simulator to remove existing attachment + If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) + first - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - - - + - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event + Attach an item to our agent at a specific attach point - The the object is located - The ID of the object - The result is raised in the event + A to attach + the on the avatar + to attach the item to - + - Select a single object. This will cause the to send us - an which will raise the event + Attach an item to our agent at a specific attach point - The the object is located - The Local ID of the object - + A to attach + the on the avatar + If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) + to attach the item to - + - Select a single object. This will cause the to send us - an which will raise the event + Attach an item to our agent specifying attachment details - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + to attach the item to - + - Select multiple objects. This will cause the to send us - an which will raise the event + Attach an item to our agent specifying attachment details - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + If true replace existing attachment on this attachment point, otherwise add to it (multi-attachments) + to attach the item to - + - Select multiple objects. This will cause the to send us - an which will raise the event + Detach an item from our agent using an object - The the objects are located - An array containing the Local IDs of the objects - + An object - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - Type of the represetnation prim will have in the physics engine - Density - normal value 1000 - Friction - normal value 0.6 - Restitution - standard value 0.5 - Gravity multiplier - standar value 1.0 - - + - Sets the sale properties of a single object + Detach an item from our agent - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object + The inventory itemID of the item to detach - + - Sets the sale properties of multiple objects + Inform the sim which wearables are part of our current outfit - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object - + - Deselect a single object + Replaces the Wearables collection with a list of new wearable items - The the object is located - The Local ID of the object + Wearable items to replace the Wearables collection with - + - Deselect multiple objects. + Calculates base color/tint for a specific wearable + based on its params - The the objects are located - An array containing the Local IDs of the objects + All the color info gathered from wearable's VisualParams + passed as list of ColorParamInfo tuples + Base color/tint for the wearable - + - Perform a click action on an object + Blocking method to populate the Wearables dictionary - The the object is located - The Local ID of the object + True on success, otherwise false - - - Perform a click action (Grab) on a single object - - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties - - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties - - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old - - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set - - + - Set the textures to apply to the faces of an object + Blocking method to populate the Textures array with cached bakes - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply + True on success, otherwise false - + - Set the textures to apply to the faces of an object + Populates textures and visual params from a decoded asset - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) - - + Wearable to decode - Set the Light data on an object + Populates textures and visual params from a decoded asset - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + Wearable to decode - + - Set the flexible data on an object + Blocking method to download and parse currently worn wearable assets - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + True on success, otherwise false - + - Set the sculptie texture and data on an object + Get a list of all of the textures that need to be downloaded for a + single bake layer - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + Bake layer to get texture AssetIDs for + A list of texture AssetIDs to download - + - Unset additional primitive parameters on an object + Helper method to lookup the TextureID for a single layer and add it + to a list if it is not already present - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set + + - + - Link multiple prims into a linkset + Blocking method to download all of the textures needed for baking + the given bake layers - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? + A list of layers that need baking + No return value is given because the baking will happen + whether or not all textures are successfully downloaded - + - Delink/Unlink multiple prims from a linkset + Blocking method to create and upload baked textures for all of the + missing bakes - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink + True on success, otherwise false - + - Change the rotation of an object + Blocking method to create and upload a baked texture for a single + bake layer - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object + Layer to bake + True on success, otherwise false - + - Set the name of an object + Blocking method to upload a baked texture - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object + Five channel JPEG2000 texture data to upload + UUID of the newly created asset on success, otherwise UUID.Zero - + - Set the name of multiple objects + Creates a dictionary of visual param values from the downloaded wearables - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects + A dictionary of visual param indices mapping to visual param + values for our agent that can be fed to the Baker class - + - Set the description of an object + Initate server baking process - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object + True if the server baking was successful - + - Set the descriptions of multiple objects + Get the latest version of COF - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects + Current Outfit Folder (or null if getting the data failed) - + - Attach an object to this avatar + Create an AgentSetAppearance packet from Wearables data and the + Textures array and send it - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object - + - Drop an attached object from this avatar + Converts a WearableType to a bodypart or clothing WearableType - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in + A WearableType + AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - + - Detach an object from yourself + Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - A reference to the - object where the objects reside - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach + A BakeType + The AvatarTextureIndex slot that holds the given BakeType - + - Change the position of an object, Will change position of entire linkset + Gives the layer number that is used for morph mask - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object + >A BakeType + Which layer number as defined in BakeTypeToTextures is used for morph mask - + - Change the position of an object + Converts a BakeType to a list of the texture slots that make up that bake - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset + A BakeType + A list of texture slots that are inputs for the given bake - - - Change the Scale (size) of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly + + Triggered when an AgentWearablesUpdate packet is received, + telling us what our avatar is currently wearing + request. - - - Change the Rotation of an object that is either a child or a whole linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset + + Raised when an AgentCachedTextureResponse packet is + received, giving a list of cached bakes that were found on the + simulator + request. - + - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum + request. - + - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() + Triggered when the simulator requests the agent rebake its appearance. - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to + - + - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() + Returns true if AppearanceManager is busy and trying to set or change appearance will fail - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to - + - Set the permissions on multiple objects + Contains information about a wearable inventory item - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - Which permission to modify - The new state of permission - - - Request additional properties for an object - - A reference to the object where the object resides - - + + Inventory ItemID of the wearable - - - Request additional properties for an object - - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request + + AssetID of the wearable asset - - - Set the ownership of a list of objects to the specified group - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID + + WearableType of the wearable - - - Update current URL of the previously set prim media - - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located + + AssetType of the wearable - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located + + Asset data for the wearable - + - Retrieve information about object media + Data collected from visual params for each wearable + needed for the calculation of the color - UUID of the primitive - Simulator where prim is located - Call this callback when done - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) - - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - - - - - - - - - + - Setup construction data for a basic primitive shape + Holds a texture assetID and the data needed to bake this layer into + an outfit texture. Used to keep track of currently worn textures + and baking data - Primitive shape to construct - Construction data that can be plugged into a - - - - - - - - - - - - - - - - - - - + + A texture AssetID - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape + + Asset data for the texture - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object + + Collection of alpha masks that needs applying - - - - - - - - - - - - - - - - - - - - - - - - - - Provides data for the event - - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent - - - Get the simulator the originated from - - - Get the details - - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - - true if the is attached to an - - - Get the simulator Time Dilation - - - Provides data for the event - - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - - - - Construct a new instance of the AvatarUpdateEventArgs class - - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update - - - Get the simulator the object originated from - - - Get the data - - - Get the simulator time dilation - - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - - Provides additional primitive data for the event - - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - - - - Construct a new instance of the ObjectPropertiesEventArgs class - - The simulator the object is located - The primitive Properties - - - Get the simulator the object is located - - - Get the primitive properties - - - Provides additional primitive data for the event - - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - - - - - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + + Tint that should be applied to the texture - - Get the simulator the object is located + + Where on avatar does this texture belong - - Get the primitive details + + Contains the Event data returned from the data server from an AgentWearablesRequest - - Get the primitive properties + + Construct a new instance of the AgentWearablesReplyEventArgs class - - Provides additional primitive data, permissions and sale info for the event - - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - + + Contains the Event data returned from the data server from an AgentCachedTextureResponse - - Get the simulator the object is located + + Construct a new instance of the AgentCachedBakesReplyEventArgs class - - - + + Contains the Event data returned from an AppearanceSetRequest - + - - - - Provides primitive data containing updated location, velocity, rotation, textures for the event - - The event occurs when the simulator sends updated location, velocity, rotation, etc - - - - Get the simulator the object is located + Triggered when appearance data is sent to the sim and + the main appearance thread is done. + Indicates whether appearance setting was successful - - Get the primitive details - - - - + + Indicates whether appearance setting was successful - - - + + Contains the Event data returned from the data server from an RebakeAvatarTextures - + + Triggered when the simulator sends a request for this agent to rebake + its appearance + The ID of the Texture Layer to bake - - Get the simulator the object is located + + The ID of the Texture Layer to bake - - Get the primitive details - - + + Represents an Animation - - - + + Default Constructor - + + Construct an Asset object of type Animation + A unique specific to this asset + A byte array containing the raw asset data - - - - - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event - - - Get the simulator the object is located - - - The LocalID of the object - - - - Provides updates sit position data - - - - Get the simulator the object is located - - - - - - - - - - - - - - - - - - - Get the simulator the object is located - - - - - - - - - - - - - - - - Indicates if the operation was successful - - - - - Media version string - - - - - Array of media entries indexed by face number - - - - - Set when simulator sends us infomation on primitive's physical properties - - - - - Constructor - - Simulator where the message originated - Updated physical properties - - - Simulator where the message originated - - - Updated physical properties - - - - Create an allocated UDP packet buffer for receiving a packet - - - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - Size of the buffer to allocate for packet data - - - Size of the byte array used to store raw packet data - - - Raw packet data buffer - - - Length of the data to transmit - - - EndPoint of the remote host - - - - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets - - - - - Initialize the object pool in client mode - - Server to connect to - - - - - - - - Initialize the object pool in server mode - - - - - - - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object - - - - Default constructor - - - - - Check a packet buffer out of the pool - - A packet buffer object - - - - Returns an instance of the class that has been checked out of the Object Pool. - - - - - Checks the instance back into the object pool - - - - - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - - - - - Creates a new instance of the ObjectPool Base class. - - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. - - - - The total number of segments created. Intended to be used by the Unit Tests. - - - - - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - - - - - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - - - - - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - - - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - - - - - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - - - - - Responsible for allocate 1 instance of an object that will be stored in a segment. - - An instance of whatever objec the pool is pooling. - - - - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - - The segment from which the instance is checked out. - The instance of T to check back into the segment. - - - - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. - - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. + + Override the base classes AssetType + + + + + + + + + + + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing events to subscribers when items are added, removed, or changed. - Key - Value - - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - - - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - + Key + Value A dictionary of callbacks to fire when specified action occurs - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - - - - Indexer for the dictionary - - The key - The value - - - - Gets the number of Key/Value pairs contained in the - Register a callback to be fired when an action occurs @@ -14429,28 +18855,56 @@ + - - - - + + + + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + + + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + - Try to get entry from the with specified key + Try to get entry from the with specified key Key to use for lookup Value returned - - if specified key exists, if not found + if specified key exists, if not found - + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); - + @@ -14460,61 +18914,62 @@ The match. Matched value - + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary // with the ID 95683496 uint findID = 95683496; Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); + delegate(Primitive prim) { return prim.ID == findID; }); - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + Check if Key exists in Dictionary Key to check for - - if found, otherwise + if found, otherwise Check if Value exists in Dictionary Value to check for - - if found, otherwise + if found, otherwise - Adds the specified key to the dictionary, dictionary locking is not performed, - + Adds the specified key to the dictionary, dictionary locking is not performed, + + The key The value @@ -14523,8 +18978,7 @@ Removes the specified key, dictionary locking is not performed The key. - - if successful, otherwise + if successful, otherwise @@ -14535,2001 +18989,112 @@ Enumerator for iterating dictionary entries - - + - + - A custom decoder callback + Gets the number of Key/Value pairs contained in the - The key of the object - the data to decode - A string represending the fieldData - + - Add a custom decoder callback + Indexer for the dictionary - The key of the field to decode - The custom decode handler + The key + The value - + - Remove a custom decoder callback + - The key of the field to decode - The custom decode handler - + - Creates a formatted string containing the values of a Packet + - The Packet - A formatted string of values of the nested items in the Packet object + - + - Decode an IMessage object into a beautifully formatted string + De-serialization constructor for the InventoryNode Class - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object - + - Type of return to use when returning objects from a parcel + Serialization handler for the InventoryNode Class - + + De-serialization handler for the InventoryNode Class - - Return objects owned by parcel owner - - - Return objects set to group - - - Return objects not owned by parcel owner or set to group - - - Return a specific list of objects on parcel - - - Return objects that are marked for-sale - - - - Blacklist/Whitelist flags used in parcels Access List - - - - Agent is denied access - - - Agent is granted access - - - - The result of a request for parcel properties - - - - No matches were found for the request - - - Request matched a single parcel - - - Request matched multiple parcels - - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - - - - Request the access list - - - Request the ban list - - - Request both White and Black lists - - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - - - - Parcel is currently selected - - - Parcel restricted to a group the avatar is not a - member of - - - Avatar is banned from the parcel - - - Parcel is restricted to an access list that the - avatar is not on - - - Response to hovering over a parcel - - - - The tool to use when modifying terrain levels - - - - Level the terrain - - - Raise the terrain - - - Lower the terrain - - - Smooth the terrain - - - Add random noise to the terrain - - - Revert terrain to simulator default - - - - The tool size to use when changing terrain levels - - - - Small - - - Medium - - - Large - - - - Reasons agent is denied access to a parcel on the simulator - - - - Agent is not denied, access is granted - - - Agent is not a member of the group set for the parcel, or which owns the parcel - - - Agent is not on the parcels specific allow list - - - Agent is on the parcels ban list - - - Unknown - - - Agent is not age verified and parcel settings deny access to non age verified avatars - - - - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused - - - Public land - - - Land is owned by another avatar - - - Land is owned by a group - - - Land is owned by the current avatar - - - Land is for sale - - - Land is being auctioned - - - Land is private - - - To the west of this area is a parcel border - - - To the south of this area is a parcel border - - - - Various parcel properties - - - - No flags set - - - Allow avatars to fly (a client-side only restriction) - - - Allow foreign scripts to run - - - This parcel is for sale - - - Allow avatars to create a landmark on this parcel - - - Allows all avatars to edit the terrain on this parcel - - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here - - - Foreign avatars can create objects here - - - All objects on this parcel can be purchased - - - Access is restricted to a group - - - Access is restricted to a whitelist - - - Ban blacklist is enabled - - - Unknown - - - List this parcel in the search directory - - - Allow personally owned parcels to be deeded to group - - - If Deeded, owner contributes required tier to group parcel is deeded to - - - Restrict sounds originating on this parcel to the - parcel boundaries - - - Objects on this parcel are sold when the land is - purchsaed - - - Allow this parcel to be published on the web - - - The information for this parcel is mature content - - - The media URL is an HTML page - - - The media URL is a raw HTML string - - - Restrict foreign object pushes - - - Ban all non identified/transacted avatars - - - Allow group-owned scripts to run - - - Allow object creation by group members or group - objects - - - Allow all objects to enter this parcel - - - Only allow group and owner objects to enter this parcel - - - Voice Enabled on this parcel - - - Use Estate Voice channel for Voice on this parcel - - - Deny Age Unverified Users - - - - Parcel ownership status - - - - Placeholder - - - Parcel is leased (owned) by an avatar or group - - - Parcel is in process of being leased (purchased) by an avatar or group - - - Parcel has been abandoned back to Governor Linden - - - - Category parcel is listed in under search - - - - No assigned category - - - Linden Infohub or public area - - - Adult themed area - - - Arts and Culture - - - Business - - - Educational - - - Gaming - - - Hangout or Club - - - Newcomer friendly - - - Parks and Nature - - - Residential - - - Shopping - - - Not Used? - - - Other - - - Not an actual category, only used for queries - - - - Type of teleport landing for a parcel - - - - Unset, simulator default - - - Specific landing point set for this parcel - - - No landing point set, direct teleports enabled for - this parcel - - - - Parcel Media Command used in ParcelMediaCommandMessage - - - - Stop the media stream and go back to the first frame - - - Pause the media stream (stop playing but stay on current frame) - - - Start the current media stream playing and stop when the end is reached - - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play - - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. - - - Specifies the movie URL (254 characters max) - - - Specifies the time index at which to begin playing - - - Specifies a single agent to apply the media command to - - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. - - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. - - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working - - - Sets a description for the media being displayed (1.19.1 RC0 and later only). - - - - Some information about a parcel of land returned from a DirectoryManager search - - - - Global Key of record - - - Parcel Owners - - - Name field of parcel, limited to 128 characters - - - Description field of parcel, limited to 256 characters - - - Total Square meters of parcel - - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - - True of parcel is in Mature simulator - - - Grid global X position of parcel - - - Grid global Y position of parcel - - - Grid global Z position of parcel (not used) - - - Name of simulator parcel is located in - - - Texture of parcels display picture - - - Float representing calculated traffic based on time spent on parcel by avatars - - - Sale price of parcel (not used) - - - Auction ID of parcel - - - - Parcel Media Information - - - - A byte, if 0x1 viewer should auto scale media to fit object - - - A boolean, if true the viewer should loop the media - - - The Asset UUID of the Texture which when applied to a - primitive will display the media - - - A URL which points to any Quicktime supported media type - - - A description of the media - - - An Integer which represents the height of the media - - - An integer which represents the width of the media - - - A string which contains the mime type of the media - - - - Parcel of land, a portion of virtual real estate in a simulator - - - - - Defalt constructor - - Local ID of this parcel - - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - - Deprecated, Value appears to always be 0 - - - Simulator-local ID of this parcel - - - UUID of the owner of this parcel - - - Whether the land is deeded to a group or not - - - - - - - Date land was claimed - - - Appears to always be zero - - - This field is no longer used - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - Total parcel land area - - - - - - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel - - - Maximum number of primitives this parcel supports - - - Total number of primitives on this parcel - - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual - - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. - - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - - Autoreturn value in minutes for others' objects - - - - - - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it - - - Parcel Name - - - Parcel Description - - - URL For Music Stream - - - - - - - Price for a temporary pass - - - How long is pass valid for - - - - - - - Key of authorized buyer - - - Key of parcel snapshot - - - The landing point location - - - The landing point LookAt - - - The type of landing enforced from the enum - - - - - - - - - - - - - - - Access list of who is whitelisted on this - parcel - - - Access list of who is blacklisted on this - parcel - - - TRUE of region denies access to age unverified users - - - true to obscure (hide) media url - - - true to obscure (hide) music url - - - A struct containing media details - - - - Displays a parcel object in string format - - string containing key=value pairs of a parcel object - - - - Update the simulator with any local changes to this Parcel object - - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not - - - - Set Autoreturn time - - Simulator to send the update to - - - - Parcel (subdivided simulator lots) subsystem - - - - - Default constructor - - A reference to the GridClient object - - - - Parcel Accesslist - - - - Agents - - - - - - - Flags for specific entry in white/black lists - - - - Owners of primitives on parcel - - - - Prim Owners - - - True of owner is group - - - Total count of prims owned by OwnerID - - - true of OwnerID is currently online and is not a group - - - The date of the most recent prim left by OwnerID - - - - Called once parcel resource usage information has been collected - - Indicates if operation was successfull - Parcel resource usage information - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a Parcel Update request - - - Raised when the parcel your agent is located sends a ParcelMediaCommand - - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator - - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator - - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator - - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator - - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator - - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator - - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator - - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator - - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator - - - - Request basic information for a single parcel - - Simulator-local ID of the parcel - - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests - - - - Request the access list for a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - - - - - - Request properties of parcels using a bounding box selection - - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request - - - - Request the dwell value for a parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - - - - Send a request to Purchase a parcel of land - - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - - - - - - Reclaim a parcel of land - - The simulator the parcel is in - The parcels region specific local ID - - - - Deed a parcel to a group - - The simulator the parcel is in - The parcels region specific local ID - The groups - - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID - - - - Return objects from a parcel - - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return - - - - Subdivide (split) a parcel - - - - - - - - - - - - - - - Join two parcels of land creating a single parcel - - - - - - - - - - - - - - - Get a parcels LocalID - - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at - - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event - - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target - - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze - - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel - - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise - - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Contains a parcels dwell data returned from the simulator in response to an - - - - Construct a new instance of the ParcelDwellReplyEventArgs class - - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel - - - Get the global ID of the parcel - - - Get the simulator specific ID of the parcel - - - Get the calculated dwell - - - Contains basic parcel information data returned from the - simulator in response to an request - - - - Construct a new instance of the ParcelInfoReplyEventArgs class - - The object containing basic parcel info - - - Get the object containing basic parcel info - - - Contains basic parcel information data returned from the simulator in response to an request - - - - Construct a new instance of the ParcelPropertiesEventArgs class - - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: - - - Get the simulator the parcel is located in - - - Get the object containing the details - If Result is NoData, this object will not contain valid data - - - Get the result of the request - - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel - - - Get the user assigned ID used to correlate a request with - these results - - - TODO: - - - Contains blacklist and whitelist data returned from the simulator in response to an request - - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel - - - Get the simulator the parcel is located in - - - Get the user assigned ID used to correlate a request with - these results - - - Get the simulator specific ID of the parcel - - - TODO: - - - Get the list containing the white/blacklisted agents for the parcel - - - Contains blacklist and whitelist data returned from the - simulator in response to an request - - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts - - - Get the simulator the parcel is located in - - - Get the list containing prim ownership counts - - - Contains the data returned when all parcel data has been retrieved from a simulator - - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - Get the simulator the parcel data was retrieved from - - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - Contains the data returned when a request - - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request - - - Get the simulator the parcel data was retrieved from - - - Get the list of primitive IDs - - - true if the list is clean and contains the information - only for a given request - - - Contains data when the media data for a parcel the avatar is on changes - - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information - - - Get the simulator the parcel media data was updated in - - - Get the updated media information - - - Contains the media command for a parcel the agent is currently on - - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - - - The media command that was sent - - - - - Get the simulator the parcel media command was issued in - - - - - - - - - - - Get the media command that was sent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Class for controlling various system settings. - - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically - - - Constructor - Reference to a GridClient object - - - Main grid login server - - - Beta grid login server - - - - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. - - - - - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. - - - - Number of milliseconds between sending pings to each sim - - - Number of milliseconds between sending camera updates - - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects - - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked - - - The initial size of the packet inbox, where packets are - stored before processing - - - Maximum size of packet that we want to send over the wire - - - The maximum value of a packet sequence number before it - rolls over back to one - - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets - - - The relative directory where external resources are kept - - - Login server to connect to - - - IP Address the client will bind to - - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - - Number of milliseconds before an asset transfer will time - out - - - Number of milliseconds before a teleport attempt will time - out - - - Number of milliseconds before NetworkManager.Logout() will - time out - - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly + + - - Number of milliseconds for xml-rpc to timeout + + User data - - Milliseconds before a packet is assumed lost and resent + + - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost + + - - Milliseconds to wait for a simulator info request through - the grid interface + + - - Maximum number of queued ACKs to be sent before SendAcks() - is forced - - - Network stats queue length (seconds) - - - Enable/disable storing terrain heightmaps in the - TerrainManager - - - Enable/disable sending periodic camera updates - - - Enable/disable automatically setting agent appearance at - login and after sim crossing - - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems - - - Enable/disable the sending of pings to monitor lag and - packet loss - - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) - - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information - - - If true, when a cached object check is received from the - server the full object info will automatically be requested - - - Whether to establish connections to HTTP capabilities - servers for simulators - - - Whether to decode sim stats - - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors - - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched - - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting - - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received - - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received - - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects - - - - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. - - - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received - - + - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server - + - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. + Capability to load TGAs to Bitmap - + - If true, images, and other assets downloaded from the server - will be cached in a local directory + Represents a string of characters encoded with specific formatting properties - - Path to store cached texture data - - - Maximum size cached files are allowed to take on disk (bytes) - - - Default color used for viewer particle effects + + A text string containing main text of the notecard - - Maximum number of times to resend a failed packet + + List of s embedded on the notecard - - Throttle outgoing packet rate + + Construct an Asset of type Notecard - - UUID of a texture used by some viewers to indentify type of client used - - - - Download textures using GetTexture capability when available - - - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles - - + - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + Construct an Asset object of type Notecard - This is a static variable which applies to all instances + A unique specific to this asset + A byte array containing the raw asset data - + - Textures taking longer than this value will be flagged as timed out and removed from the pipeline + Encode the raw contents of a string with the specific Linden Text properties - + - Get or set the minimum log level to output to the console by default - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net + Decode the raw asset data including the Linden Text properties + true if the AssetData was successfully decoded - - Attach avatar names to log messages - - - Log packet retransmission info - - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Override the base classes AssetType @@ -16633,6 +19198,20 @@ Deny agents who have not been age verified from entering the region. + + + Region protocol flags + + + + Nothing special + + + Region supports Server side Appearance + + + Viewer supports Server side Appearance + Access level for a simulator @@ -16661,15 +19240,337 @@ + + + A public reference to the client that this Simulator object + is attached to + + + A Unique Cache identifier for this simulator + + + The capabilities for this simulator + + + + + + The current version of software this simulator is running + + + + + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true if your agent has Estate Manager rights on this region + + + + + + + + + + + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library + + + The regions Unique ID + + + The physical data center the simulator is located + Known values are: + + Dallas + Chandler + SF + + + + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 + + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 + + + The billing product name + Known values are: + + Mainland / Full Region (Sku: 023) + Estate / Full Region (Sku: 024) + Estate / Openspace (Sku: 027) + Estate / Homestead (Sku: 029) + Mainland / Homestead (Sku: 129) (Linden Owned) + Mainland / Linden Homes (Sku: 131) + + + + + The billing product SKU + Known values are: + + 023 Mainland / Full Region + 024 Estate / Full Region + 027 Estate / Openspace + 029 Estate / Homestead + 129 Mainland / Homestead (Linden Owned) + 131 Linden Homes / Full Region + + + + + + Flags indicating which protocols this region supports + + + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers + + + + A thread-safe dictionary containing avatars in a simulator + + + + + A thread-safe dictionary containing primitives in a simulator + + + + + Checks simulator parcel map to make sure it has downloaded all data successfully + + true if map is full (contains no 0's) + + + + Is it safe to send agent updates to this sim + AgentMovementComplete message received + + + + Used internally to track sim disconnections + + + Event that is triggered when the simulator successfully + establishes a connection + + + Whether this sim is currently connected or not. Hooked up + to the property Connected + + + Coarse locations of avatars in this simulator + + + AvatarPositions key representing TrackAgent target + + + Sequence numbers of packets we've received + (for duplicate checking) + + + Packets we sent out that need ACKs from the simulator + + + Sequence number for pause/resume + + + Indicates if UDP connection to the sim is fully established + + Reference to the GridClient object IPEndPoint of the simulator handle of the simulator + + + Called when this Simulator object is being destroyed + + + + + Attempt to connect to this simulator + + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure + + + + Initiates connection to the simulator + + Should we block until ack for this packet is recieved + + + + Disconnect from this simulator + + + + + Instructs the simulator to stop sending update (and possibly other) packets + + + + + Instructs the simulator to resume sending update packets (unpause) + + + + + Retrieve the terrain height at a given coordinate + + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false + + + + Sends a packet + + Packet to be sent + + + + + + + + + Returns Simulator Name as a String + + + + + + + + + + + + + + + + + + + Sends out pending acknowledgements + + Number of ACKs sent + + + + Resend unacknowledged packets + + + + + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator + + + + + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + + The IP address and port of the server + + + Whether there is a working connection to the simulator or + not + + + Coarse locations of avatars in this simulator + + + AvatarPositions key representing TrackAgent target + + + Indicates if UDP connection to the sim is fully established + Simulator Statistics @@ -16723,12 +19624,10 @@ ID of last Ping sent - - + - - + Current time dilation of this simulator @@ -16740,36 +19639,28 @@ Current Physics frames per second of simulator - - + - - + - - + - - + - - + - - + - - + - - + Total number of objects Simulator is simulating @@ -16787,16 +19678,13 @@ Number of Active scripts running in this simulator - - + - - + - - + Number of downloads pending @@ -16805,12 +19693,10 @@ Number of uploads pending - - + - - + Number of local uploads pending @@ -16818,4775 +19704,1848 @@ Unacknowledged bytes in queue - - A public reference to the client that this Simulator object - is attached to - - - A Unique Cache identifier for this simulator - - - The capabilities for this simulator - - + + Simulator handle - - The current version of software this simulator is running - - + + Number of GridClients using this datapool - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type - - + + Time that the last client disconnected from the simulator - + + The cache of prims used and unused in this simulator - + + Shared parcel info only when POOL_PARCEL_DATA == true - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - + + No report + + + Unknown report type + + + Bug report + + + Complaint report + + + Customer service report + + + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object - + + Unknown + + + Whether the object has a TreeSpecies + + + Whether the object has floating text ala llSetText + + + Whether the object has an active particle system + + + Whether the object has sound attached to it + + + Whether the object is attached to a root object or not + + + Whether the object has texture animation settings + + + Whether the object has an angular velocity + + + Whether the object has a name value pairs string + + + Whether the object has a Media URL set + + + Specific Flags for MultipleObjectUpdate requests - + + None + + + Change position of prims + + + Change rotation of prims + + + Change size of prims + + + Perform operation on link set + + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale + + + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use - + + Indicates that this pay option should be hidden - + + Indicates that this pay option should have the default value - + + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Handles all network traffic related to prims and avatar positions and + movement. - - - - - - - - - - true if your agent has Estate Manager rights on this region - - - - - - - - - - - - - - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library - - - The regions Unique ID - - - The physical data center the simulator is located - Known values are: - DallasChandlerSF - - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 - - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 - - - The billing product name - Known values are: - Mainland / Full Region (Sku: 023)Estate / Full Region (Sku: 024)Estate / Openspace (Sku: 027)Estate / Homestead (Sku: 029)Mainland / Homestead (Sku: 129) (Linden Owned)Mainland / Linden Homes (Sku: 131) - - - The billing product SKU - Known values are: - 023 Mainland / Full Region024 Estate / Full Region027 Estate / Openspace029 Estate / Homestead129 Mainland / Homestead (Linden Owned)131 Linden Homes / Full Region - - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers - - - - A thread-safe dictionary containing avatars in a simulator - - - - - A thread-safe dictionary containing primitives in a simulator - - - - - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator - - - - - Is it safe to send agent updates to this sim - AgentMovementComplete message received - - - - Used internally to track sim disconnections - - - Event that is triggered when the simulator successfully - establishes a connection - - - Whether this sim is currently connected or not. Hooked up - to the property Connected - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Sequence numbers of packets we've received - (for duplicate checking) - - - Packets we sent out that need ACKs from the simulator - - - Sequence number for pause/resume - - - Indicates if UDP connection to the sim is fully established - - - - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - - The IP address and port of the server - - - Whether there is a working connection to the simulator or - not - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Indicates if UDP connection to the sim is fully established - - - - Checks simulator parcel map to make sure it has downloaded all data successfully - - true if map is full (contains no 0's) - - - - Called when this Simulator object is being destroyed - - - - - Attempt to connect to this simulator - - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure - - - - Initiates connection to the simulator - - Should we block until ack for this packet is recieved - - - - Disconnect from this simulator - - - - - Instructs the simulator to stop sending update (and possibly other) packets - - - - - Instructs the simulator to resume sending update packets (unpause) - - - - - Retrieve the terrain height at a given coordinate - - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false - - - - Sends a packet - - Packet to be sent - - - - - - - - Returns Simulator Name as a String - - - - - - - - - - - - - - - - - - - - - Sends out pending acknowledgements - - Number of ACKs sent - - - - Resend unacknowledged packets - - - - - - - - - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets - - A reference to the current GridClient instance - - + The event subscribers, null of no subscribers - + Thread sync lock object - + The event subscribers, null of no subscribers - + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator + + Thread sync lock object - + The event subscribers, null of no subscribers - + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator + + Thread sync lock object - + The event subscribers, null of no subscribers - + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator + + Thread sync lock object - - Raised when the simulator sends us data containing - sound + + The event subscribers, null of no subscribers - - Raised when the simulator sends us data containing - ... + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator - - Raised when the simulator sends us data containing - ... + + Thread sync lock object - - Raised when the simulator sends us data containing - ... + + The event subscribers, null of no subscribers - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator + + Thread sync lock object - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator + + The event subscribers, null of no subscribers - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers, null of no subscribers + + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the KillObjects Event + A KillObjectsEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the PhysicsProperties Event + A PhysicsPropertiesEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Reference to the GridClient object + + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects + + - Plays a sound in the current region at full volume from avatar position + Construct a new instance of the ObjectManager class - UUID of the sound to be played + A reference to the instance - + - Plays a sound in the current region at full volume + Request information for a single object from a + you are currently connected to - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. + The the object is located + The Local ID of the object - + - Plays a sound in the current region + Request information for multiple objects contained in + the same simulator - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + The the objects are located + An array containing the Local IDs of the objects - + + + Attempt to purchase an original object, a copy, or the contents of + an object + + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + + + - Plays a sound in the specified sim + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - - Play a sound asset - - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - - - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner + The the object is located The ID of the object - The volume level - The + The result is raised in the event - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - Get the volume level - - - Get the - - - Provides data for the event - The event occurs when an attached sound - changes its volume level - - + - Construct a new instance of the AttachedSoundGainChangedEventArgs class + Select a single object. This will cause the to send us + an which will raise the event - Simulator where the event originated - The ID of the Object - The new volume level + The the object is located + The Local ID of the object + - - Simulator where the event originated + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + - - Get the ID of the Object + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + - - Get the volume level + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + - - Provides data for the event - - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on + + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on + Type of the represetnation prim will have in the physics engine + Density - normal value 1000 + Friction - normal value 0.6 + Restitution - standard value 0.5 + Gravity multiplier - standar value 1.0 + + + + Sets the sale properties of a single object + + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object + + + + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object + + + + Deselect a single object + + The the object is located + The Local ID of the object + + + + Deselect multiple objects. + + The the objects are located + An array containing the Local IDs of the objects + + + + Perform a click action on an object + + The the object is located + The Local ID of the object + + + + Perform a click action (Grab) on a single object + + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space + + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties + + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties + + + + Rez a Linden tree + + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old + + + + Rez grass and ground cover + + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set + + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) + + + + Set the Light data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set + + + + Set the flexible data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set + + + + Set the sculptie texture and data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set + + + + Unset additional primitive parameters on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set + + + + Link multiple prims into a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? + + + + Delink/Unlink multiple prims from a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink + + + + Change the rotation of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object + + + + Set the name of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object + + + + Set the name of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects + + + + Set the description of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object + + + + Set the descriptions of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects + + + + Attach an object to this avatar + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object + + + + Drop an attached object from this avatar + + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in + + + + Detach an object from yourself + + A reference to the + object where the objects reside + + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach + + + + Change the position of an object, Will change position of entire linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + + + + Change the position of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset + + + + Change the Scale (size) of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly + + + + Change the Rotation of an object that is either a child or a whole linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset + + + + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum + + + + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to + + + + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to + + + + Set the permissions on multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + Which permission to modify + The new state of permission + + + + Request additional properties for an object + + A reference to the object where the object resides + + + + + Request additional properties for an object + + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request + + + + Set the ownership of a list of objects to the specified group + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID + + + + Update current URL of the previously set prim media + + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located + + + + Set object media + + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located + + + + Retrieve information about object media + + UUID of the primitive + Simulator where prim is located + Call this callback when done + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + + + + + + + + + Setup construction data for a basic primitive shape + + Primitive shape to construct + Construction data that can be plugged into a + + + + + + + + + + + + + + + + + + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape + + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + + + + Raised when the simulator sends us data containing + additional information + + + + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking + + + Raised when the simulator sends us data containing + additional and details + + + + Raised when the simulator sends us data containing + updated information for an + + + Raised when the simulator sends us data containing + and movement changes + + + Raised when the simulator sends us data containing + updates to an Objects DataBlock + + + Raised when the simulator informs us an + or is no longer within view + + + Raised when the simulator informs us when a group of + or is no longer within view + + + Raised when the simulator sends us data containing + updated sit information for our + + + Raised when the simulator sends us data containing + purchase price information for a + + + Raised when the simulator sends us data containing + additional information + + + + + + Callback for getting object media data via CAP + + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data + + + Provides data for the event + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + + + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + + + + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent + + + Get the simulator the originated from + + + Get the details + + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) + + + true if the is attached to an + + + Get the simulator Time Dilation + + + Provides data for the event + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + + + + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update + + + Get the simulator the object originated from + + + Get the data + + + Get the simulator time dilation + + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + + - + - Construct a new instance of the SoundTriggerEventArgs class + Construct a new instance of the ObjectPropertiesEventArgs class - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position + The simulator the object is located + The primitive Properties - - Simulator where the event originated + + Get the simulator the object is located - - Get the sound asset id + + Get the primitive properties - - Get the ID of the owner + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + - - Get the ID of the Object - - - Get the ID of the objects parent - - - Get the volume level - - - Get the regionhandle - - - Get the source position - - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - - + - Construct a new instance of the PreloadSoundEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties - - Simulator where the event originated + + Get the primitive details - - Get the sound asset id + + Provides additional primitive data, permissions and sale info for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + - - Get the ID of the owner + + Get the simulator the object is located - - Get the ID of the Object + + - + + + + + Provides primitive data containing updated location, velocity, rotation, textures for the event + The event occurs when the simulator sends updated location, velocity, rotation, etc + + + + Get the simulator the object is located + + + Get the primitive details + + + + + + + + - pre-defined built in sounds + - + + Get the simulator the object is located + + + Get the primitive details + + + + + + + + + + + + + + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event + + + Get the simulator the object is located + + + The LocalID of the object + + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event + + + Get the simulator the object is located + + + The LocalID of the object + + + Provides updates sit position data - + + Get the simulator the object is located + + + + + + + + + + + + - + + Get the simulator the object is located + + + + + + + + + + + + Indicates if the operation was successful - + + Media version string - + + Array of media entries indexed by face number - + + Set when simulator sends us infomation on primitive's physical properties - + + Simulator where the message originated + + + Updated physical properties + + + Constructor + + Simulator where the message originated + Updated physical properties + + + + Exception class to identify inventory exceptions - + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. - - coins + + The event subscribers, null of no subscribers - - cash register bell + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator - - - - - - - - - - rubber - - - plastic - - - flesh - - - wood splintering? - - - glass break - - - metal clunk - - - whoosh - - - shake - - - - - - - ding - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A dictionary containing all pre-defined sounds - - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound - - - X position of this patch - - - Y position of this patch - - - A 16x16 array of floats holding decompressed layer data - - - - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - - - - - - Add a patch of terrain to a BitPacker - - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 - - - - Default constructor - - - - - - The event subscribers. null if no subcribers - - + Thread sync lock object - - Raised when the simulator responds sends + + The event subscribers, null of no subscribers - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator - - Simulator from that sent tha data + + Thread sync lock object - - Sim coordinate of the patch + + The event subscribers, null of no subscribers - - Sim coordinate of the patch + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator - - Size of tha patch + + Thread sync lock object - - Heightmap for the patch - - + - The current status of a texture request as it moves through the pipeline or final result of a texture request. + Returns the contents of the specified folder + + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory + + + + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + + You can not set the inventory root folder using this method + + The InventoryObject to store + + + + Removes the InventoryObject and all related node data from Inventory. + + The InventoryObject to remove. + + + + Used to find out if Inventory contains the InventoryObject + specified by uuid. + + The UUID to check. + true if inventory contains uuid, false otherwise + + + + Saves the current inventory structure to a cache file + + Name of the cache file to save to + + + + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + + The root folder of this avatars inventory - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline - - - A request that has been added to the pipeline and the request packet - has been sent to the simulator - - - A request that has received one or more packets back from the simulator - - - A request that has received all packets back from the simulator - - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received - - - The texture request was aborted by request of the agent - - - The simulator replied to the request that it was not able to find the requested texture - - + - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the - This class makes full use of the internal - system for full texture downloads. - - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object - - - - A request task containing information and status of a request as it is processed through the - - - The current which identifies the current status of the request - - - The Unique Request ID, This is also the Asset ID of the texture being requested - - - The slot this request is occupying in the threadpoolSlots array - - - The ImageType of the request. - - - The callback to fire when the request is complete, will include - the and the - object containing the result data - - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. - - - An object that maintains the data of an request thats in-process. - - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled - - - Holds the reference to the client object - - - Maximum concurrent texture requests allowed at a time - - - An array of objects used to manage worker request threads - - - An array of worker slots which shows the availablity status of the slot - - - The primary thread which manages the requests. - - - true if the TexturePipeline is currently running - - - A synchronization object used by the primary thread - - - A refresh timer used to increase the priority of stalled requests - - - Current number of pending and in-process transfers - - - - Initialize callbacks required for the TexturePipeline to operate + The default shared library folder - + - Shutdown the TexturePipeline and cleanup any callbacks or transfers + The root node of the avatars inventory - + - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - - Sends the actual request packet to the simulator - - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download - - - - Cancel a pending or in process texture request - - The texture assets unique ID - - - - Master Download Thread, Queues up downloads in the threadpool + The root node of the default shared library - + - The worker thread that sends the request and handles timeouts + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. - A object containing the request details + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. - + - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + - The sender - The EventArgs object containing the packet data + Key + Value - + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member + + - Handles the remaining Image data that did not fit in the initial ImageData packet + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. - The sender - The EventArgs object containing the packet data + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + - + - Handle the initial ImageDataPacket sent from the simulator + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + - The sender - The EventArgs object containing the packet data + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + - + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + + + + + Try to get entry from with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + + + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + + + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + + Perform an on each entry in an + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + + + + Perform an on each key of an + to perform + + + + Perform an on each KeyValuePair of an + + to perform + + + Check if Key exists in Dictionary + Key to check for + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + if found, otherwise + + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value + + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise + + + + Gets the number of Key/Value pairs contained in the - + - Delegate to wrap another delegate and its arguments + Indexer for the dictionary - - - - - - - - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate - - - - - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper - - - - - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread - - - - - - - - - Invokes the wrapped delegate synchronously - - - - - - - - - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks - - - - - - - - - - - Initialize the UDP packet handler in server mode - - Port to listening for incoming UDP packets on - - - - Initialize the UDP packet handler in client mode - - Remote UDP server to connect to - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Thrown when a packet could not be successfully deserialized - - - - - Default constructor - - - - - Constructor that takes an additional error message - - An error message to attach to this exception - - - - The header of a message template packet. Holds packet flags, sequence - number, packet ID, and any ACKs that will be appended at the end of - the packet - - - - - Convert the AckList to a byte array, used for packet serializing - - Reference to the target byte array - Beginning position to start writing to in the byte - array, will be updated with the ending position of the ACK list - - - - - - - - - - - - - - - - - - - - - - - - - - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields - - - - Current length of the data in this packet - - - - Create a block from a byte array - - Byte array containing the serialized block - Starting position of the block in the byte array. - This will point to the data after the end of the block when the - call returns - - - - Serialize this block into a byte array - - Byte array to serialize this block into - Starting position in the byte array to serialize to. - This will point to the position directly after the end of the - serialized block when the call returns - - - A generic value, not an actual packet type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Operation to apply when applying color to texture - - - - - Information needed to translate visual param value to RGBA color - - - - - Construct VisualColorParam - - Operation to apply when applying color to texture - Colors - - - - Represents alpha blending and bump infor for a visual parameter - such as sleive length - - - - - Create new alhpa information for a visual param - - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending - - - Stregth of the alpha to apply - - - File containing the alpha channel - - - Skip blending if parameter value is 0 - - - Use miltiply insted of alpha blending - - - - A single visual characteristic of an avatar mesh, such as eyebrow height - - - - - Set all the values through the constructor - - Index of this visual param - Internal name - - - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information - - - Index of this visual param - - - Internal name - - - Group ID this parameter belongs to - - - Name of the wearable this parameter belongs to - - - Displayable label of this characteristic - - - Displayable label for the minimum value of this characteristic - - - Displayable label for the maximum value of this characteristic - - - Default value - - - Minimum value - - - Maximum value - - - Is this param used for creation of bump layer? - - - Alpha blending/bump info - - - Color information - - - Array of param IDs that are drivers for this parameter - - - - Holds the Params array of all the avatar appearance parameters - - - - - Base class for all Asset types - - - - - Construct a new Asset object - - - - - Construct a new Asset object - - A unique specific to this asset - A byte array containing the raw asset data - - - A byte array containing the raw asset data - - - True if the asset it only stored on the server temporarily - - - A unique ID - - - The assets unique ID - - - - The "type" of asset, Notecard, Animation, etc - - - - - Regenerates the AssetData byte array from the properties - of the derived class. - - - - - Decodes the AssetData, placing it in appropriate properties of the derived - class. - - True if the asset decoding succeeded, otherwise false + The key + The value Constants for the archiving module + + + Path for region settings. + + The location of the archive control file @@ -21622,1036 +21581,202 @@ Extensions used for asset types in the archive - - - Archives assets - - - - - Archive assets - - - - - Archive the assets given to this archiver to the given archive. - - - - - - - Write an assets metadata file to the given archive - - - - - - - Write asset data files to the given archive - - - - - - - Temporary code to do the bare minimum required to read a tar archive for our purposes - - - - - Generate a tar reader which reads from the given stream. - - - - - - - Binary reader for the underlying stream - - - - - Used to trim off null chars - - - - - Used to trim off space chars - - - - - Read the next entry in the tar file. - - - - - - the data for the entry. Returns null if there are no more entries - - - - Read the next 512 byte chunk of data as a tar header. - - A tar header struct. null if we have reached the end of the archive. - - - - Read data following a header - - - - - - - - - Convert octal bytes to a decimal representation - - - - - - - - - - - - - Temporary code to produce a tar archive in tar v7 format - - - - - Binary writer for the underlying stream - - - - - Write a directory entry to the tar archive. We can only handle one path level right now! - - - - - - - Write a file to the tar archive - - - - - - - - - Write a file to the tar archive - - - - - - - - - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - - - - - Write a particular entry - - - - - - - - - - - Represents an Animation - - - - Default Constructor - - - - Construct an Asset object of type Animation - - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - - - Represents an that represents an avatars body ie: Hair, Etc. - - - - Initializes a new instance of an AssetBodyPart object - - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - - - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. - - - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - - - Type of gesture step - - - - - Base class for gesture steps - - - - - Retururns what kind of gesture step this is - - - - - Describes animation step of a gesture - - - - - If true, this step represents start of animation, otherwise animation stop - - - - - Animation asset - - - - Animation inventory name - - - - - Returns what kind of gesture step this is - - - - - Describes sound step of a gesture - - - - - Sound asset - - - - Sound inventory name - - - - - Returns what kind of gesture step this is - - - - - Describes sound step of a gesture - - - - - Text to output in chat - - - - - Returns what kind of gesture step this is - - - - - Describes sound step of a gesture - - - - - If true in this step we wait for all animations to finish - - - - - If true gesture player should wait for the specified amount of time - - - - - Time in seconds to wait if WaitForAnimation is false - - - - - Returns what kind of gesture step this is - - - - - Describes the final step of a gesture - - - - - Returns what kind of gesture step this is - - - - - Represents a sequence of animations, sounds, and chat actions - - - - - Constructs guesture asset - - - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data - - - - Keyboard key that triggers the gestyre - - - - - Modifier to the trigger key - - - - - String that triggers playing of the gesture sequence - - - - - Text that replaces trigger in chat once gesture is triggered - - - - - Sequence of gesture steps - - - - - Returns asset type - - - - - Encodes gesture asset suitable for uplaod - - - - - Decodes gesture assset into play sequence - - true if the asset data was decoded successfully - - - - Represents a Landmark with RegionID and Position vector - - - - Construct an Asset of type Landmark - - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data - - - UUID of the Landmark target region - - - Local position of the target - - - Override the base classes AssetType - - - - Encode the raw contents of a string with the specific Landmark format - - - - - Decode the raw asset data, populating the RegionID and Position - - true if the AssetData was successfully decoded to a UUID and Vector - - - - Represents Mesh asset - + + X position of this patch - - Initializes a new instance of an AssetMesh object + + Y position of this patch - - Initializes a new instance of an AssetMesh object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + A 16x16 array of floats holding decompressed layer data - + - Decoded mesh data + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + - - Override the base classes AssetType - - + - TODO: Encodes Collada file into LLMesh format + Add a patch of terrain to a BitPacker + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 - - - Decodes mesh asset. See - to furter decode it for rendering - true - - + - Represents a string of characters encoded with specific formatting properties + pre-defined built in sounds - - Construct an Asset of type Notecard + + - - - Construct an Asset object of type Notecard - - A unique specific to this asset - A byte array containing the raw asset data + + - - A text string containing main text of the notecard + + - - List of s embedded on the notecard + + - - Override the base classes AssetType + + - - - Encode the raw contents of a string with the specific Linden Text properties - + + - - - Decode the raw asset data including the Linden Text properties - - true if the AssetData was successfully decoded + + - - - A linkset asset, containing a parent primitive and zero or more children - + + - - Initializes a new instance of an AssetPrim object + + coins - - - Initializes a new instance of an AssetPrim object - - A unique specific to this asset - A byte array containing the raw asset data + + cash register bell - - - Only used internally for XML serialization/deserialization - + + - - Override the base classes AssetType + + - - - + + rubber - - - - - + + plastic - - - The deserialized form of a single primitive in a linkset asset - + + flesh - - - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script - + + wood splintering? - - Initializes a new instance of an AssetScriptBinary object + + glass break - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + metal clunk - - Override the base classes AssetType + + whoosh - - - TODO: Encodes a scripts contents into a LSO Bytecode file - + + shake - - - TODO: Decode LSO Bytecode into a string - - true + + - - - Represents an LSL Text object containing a string of UTF encoded characters - + + ding - - Initializes a new AssetScriptText object + + - - - Initializes a new AssetScriptText object with parameters - - A unique specific to this asset - A byte array containing the raw asset data + + - - A string of characters represting the script contents + + - - Override the base classes AssetType + + - - - Encode a string containing the scripts contents into byte encoded AssetData - + + - - - Decode a byte array containing the scripts contents into a string - - true if decoding is successful + + - - - Represents a Sound Asset - + + - - Initializes a new instance of an AssetSound object + + - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - TODO: Encodes a sound file - + + - - - TODO: Decode a sound file - - true + + - - - Represents a texture - + + - - Initializes a new instance of an AssetTexture object + + - + - Initializes a new instance of an AssetTexture object + A dictionary containing all pre-defined sounds - A unique specific to this asset - A byte array containing the raw asset data + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound - + - Initializes a new instance of an AssetTexture object + - A object containing texture data - - A object containing image data - - + + - - - + + - - Override the base classes AssetType + + - - - Populates the byte array with a JPEG2000 - encoded image created from the data in + + - - - Decodes the JPEG2000 data in AssetData to the - object - True if the decoding was successful, otherwise false + + - - - Decodes the begin and end byte positions for each quality layer in - the image - - - - - - - Represents a Wearable Asset, Clothing, Hair, Skin, Etc - - - - Initializes a new instance of an AssetWearable object - - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - A string containing the name of the asset - - - A string containing a short description of the asset - - - The Assets WearableType - - - The For-Sale status of the object - - - An Integer representing the purchase price of the asset - - - The of the assets creator - - - The of the assets current owner - - - The of the assets prior owner - - - The of the Group this asset is set to - - - True if the asset is owned by a - - - The Permissions mask of the asset - - - A Dictionary containing Key/Value pairs of the objects parameters - - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - - - Decode an assets byte encoded data to a string - - true if the asset data was decoded successfully - - - - Encode the assets string represantion into a format consumable by the asset server - + + - - = - - - Number of times we've received an unknown CAPS exception in series. - - - For exponential backoff on error. - - - - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances - - - - - Default constructor - - Bake type - - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad - - - Height of the final baked image and scratchpad - - - Bake type - - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad - - - Height of the final baked image and scratchpad - - - Bake type - - - Is this one of the 3 skin bakes - - - - Adds layer for baking - - TexturaData struct that contains texture and its params - - - - Converts avatar texture index (face) to Bake type - - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to - - - - Make sure images exist, resize source if needed to match the destination - - Destination image - Source image - Sanitization was succefull - - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Color of the base of this layer - - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Red value - Green value - Blue value - - - - Create a new blank image - - width - height - channel flags - - - - - - - - - - Image width - - - - - Image height - - - - - Image channel flags - - - - - Red channel data - - - - - Green channel data - - - - - Blue channel data - - - - - Alpha channel data - - - - - Bump channel data - - - - - Convert the channels in the image. Channels are created or destroyed as required. - - new channel flags - - - - Resize or stretch the image using nearest neighbor (ugly) resampling - - new width - new height - - - - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL - - A byte array containing raw texture data - - - - A Wrapper around openjpeg to encode and decode images to and from byte arrays - - - - - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file - - - - - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! - - - - - Information about a single packet in a JPEG2000 stream - - - - Packet start position - - - Packet header end position - - - Packet end position - - - TGA Header size - - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code - - - - Encode a object into a byte array - - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object - - - - Encode a object into a byte array - - The object to encode - a byte array of the encoded image - - - - Decode JPEG2000 data to an and - - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false - - - - - - - - - - - - - - - - - - - - - - - - - - Encode a object into a byte array - - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object - - - - Capability to load TGAs to Bitmap - - - - - Interface requirements for Messaging system - - - - - Abstract base for rendering plugins - - - - - Generates a basic mesh structure from a primitive - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - - - - Generates a basic mesh structure from a sculpted primitive and - texture - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh + + - + - Generates a series of faces, each face containing a mesh and - metadata + - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - + - Generates a series of faces for a sculpted prim, each face - containing a mesh and metadata + Checks the instance back into the object pool - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - + - Apply texture coordinate modifications from a - to a list of vertices + Returns an instance of the class that has been checked out of the Object Pool. - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters - Scale of the prim @@ -22659,11 +21784,10 @@ - The of the agent + The of the agent - - + The simulators handle the agent teleported to @@ -22673,7 +21797,7 @@ Indicates the level of access required - to access the simulator, or the content rating, or the simulators + to access the simulator, or the content rating, or the simulators map status @@ -22689,13 +21813,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -22706,37 +21830,37 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -22745,15 +21869,14 @@ - - + A string key of the reason the teleport failed e.g. CouldntTPCloser Which could be used to look up a value in a dictionary or enum - The of the Agent + The of the Agent A string human readable message containing the reason @@ -22763,25 +21886,25 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -22794,43 +21917,43 @@ the DataBlocksExtended map will not be sent from the simulator + + An Array of objects + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + Prim ownership information for a specified owner on a single parcel - The of the prim owner, + The of the prim owner, UUID.Zero if agent has no permission to view prim owner information The total number of prims - True if the OwnerID is a + True if the OwnerID is a - True if the owner is online + True if the owner is online This is no longer used by the LL Simulators The date the most recent prim was rezzed - - An Array of objects - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - The details of a single parcel in a region, also contains some regionwide globals @@ -22851,19 +21974,17 @@ Total parcel land area - - + Key of authorized buyer - Bitmap describing land layout in 4x4m squares across the + Bitmap describing land layout in 4x4m squares across the entire region - - + Date land was claimed @@ -22875,29 +21996,26 @@ Parcel Description - - + - - + - Total number of primitives owned by the parcel group on + Total number of primitives owned by the parcel group on this parcel Whether the land is deeded to a group or not - - + Maximum number of primitives this parcel supports - The Asset UUID of the Texture which when applied to a + The Asset UUID of the Texture which when applied to a primitive will display the media @@ -22916,8 +22034,7 @@ Autoreturn value in minutes for others' objects - - + Total number of other primitives on this parcel @@ -22926,12 +22043,11 @@ UUID of the owner of this parcel - Total number of primitives owned by the parcel owner on + Total number of primitives owned by the parcel owner on this parcel - - + How long is pass valid for @@ -22940,36 +22056,32 @@ Price for a temporary pass - - + Disallows people outside the parcel from being able to see in - - + - - + - - + True if the region denies access to age unverified users - - + This field is no longer used - The result of a request for parcel properties + The result of a request for parcel properties + Sale price of the parcel, only useful if ForSale is set The SalePrice will remain the same after an ownership @@ -22983,14 +22095,13 @@ - - + - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. @@ -23000,8 +22111,7 @@ Total primitives across the entire simulator - - + Key of parcel snapshot @@ -23013,12 +22123,10 @@ Total number of primitives on this parcel - - + - - + A description of the media @@ -23045,20 +22153,20 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data A message sent from the viewer to the simulator to updated a specific parcels settings - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone true to enable auto scaling of the parcel media @@ -23071,11 +22179,11 @@ A string containing the description to set - The of the which allows for additional + The of the which allows for additional powers and restrictions. - The which specifies how avatars which teleport + The which specifies how avatars which teleport to this parcel are handled @@ -23086,88 +22194,70 @@ to visitors - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Base class used for the RemoteParcelRequest message @@ -23185,23 +22275,23 @@ Region handle of the parcel we are looking up - Region of the parcel we are looking up + Region of the parcel we are looking up Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data - A message sent from the simulator to the viewer in response to a + A message sent from the simulator to the viewer in response to a which will contain parcel information @@ -23212,13 +22302,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23233,37 +22323,37 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23271,6 +22361,29 @@ the groups the agent is in + + The Agent receiving the message + + + An array containing information + for each the agent is a member of + + + An array containing information + for each the agent is a member of + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + Group Details specific to the agent @@ -23281,10 +22394,10 @@ The agents tier contribution to the group - The Groups + The Groups - The of the groups insignia + The of the groups insignia The name of the group @@ -23300,38 +22413,15 @@ true of the agent allows this group to be listed in their profile - - The Agent receiving the message - - - An array containing information - for each the agent is a member of - - - An array containing information - for each the agent is a member of - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - A message sent from the viewer to the simulator which + A message sent from the viewer to the simulator which specifies the language and permissions for others to detect the language specified - A string containng the default language + A string containng the default language to use for the agent @@ -23342,13 +22432,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23356,15 +22446,6 @@ leaves a group - - An object containing the Agents UUID, and the Groups UUID - - - The ID of the Agent leaving the group - - - The GroupID the Agent is leaving - An Array containing the AgentID and GroupID @@ -23374,13 +22455,22 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data + + + An object containing the Agents UUID, and the Groups UUID + + + The ID of the Agent leaving the group + + + The GroupID the Agent is leaving Base class for Asset uploads/results via Capabilities @@ -23394,13 +22484,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23413,7 +22503,7 @@ - A message sent from the simulator that will inform the agent the upload is complete, + A message sent from the simulator that will inform the agent the upload is complete, and the UUID of the uploaded asset @@ -23433,17 +22523,17 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data - A message sent from the simulator which indicates the minimum version required for + A message sent from the simulator which indicates the minimum version required for using voice chat @@ -23460,17 +22550,17 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data - A message sent from the simulator to the viewer containing the + A message sent from the simulator to the viewer containing the voice server URI @@ -23488,37 +22578,36 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data + - - + - - + Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23533,13 +22622,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23551,11 +22640,11 @@ The Asset ID of the script - True of the script is compiled/ran using the mono interpreter, false indicates it + True of the script is compiled/ran using the mono interpreter, false indicates it uses the older less efficient lsl2 interprter - The Task containing the scripts + The Task containing the scripts true of the script is in a running state @@ -23564,13 +22653,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23585,13 +22674,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23600,22 +22689,22 @@ - The of the Task containing the notecard asset to update + The of the Task containing the notecard asset to update - The notecard assets contained in the tasks inventory + The notecard assets contained in the tasks inventory Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23632,13 +22721,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23653,30 +22742,30 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks + an error occurred while attempting to update a script in an agents or tasks inventory @@ -23704,24 +22793,24 @@ The scripts InventoryItem ItemID to update - A lowercase string containing either "mono" or "lsl2" which + A lowercase string containing either "mono" or "lsl2" which specifies the script is compiled and ran on the mono runtime, or the older lsl runtime - The tasks which contains the script to update + The tasks which contains the script to update Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23736,13 +22825,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23773,13 +22862,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23794,44 +22883,43 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Base class for Map Layers via Capabilities - - + Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23843,6 +22931,21 @@ A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + + An array containing LayerData items + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + An object containing map location details @@ -23863,21 +22966,6 @@ The grid location of the northern border of the map tile - - An array containing LayerData items - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - Object containing request or response @@ -23885,13 +22973,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -23902,25 +22990,25 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data A string containing the method used @@ -23929,10 +23017,10 @@ A request sent from an agent to the Simulator to begin a new conference. Contains a list of Agents which will be included in the conference - + - An array containing the of the agents invited to this conference + An array containing the of the agents invited to this conference The conferences Session ID @@ -23941,26 +23029,25 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data A moderation request sent from a conference moderator Contains an agent and an optional action to take - + The Session ID - - + A list containing Key/Value pairs, known valid values: @@ -23970,24 +23057,23 @@ "text" or "voice" - - + Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data - A message sent from the agent to the simulator which tells the + A message sent from the agent to the simulator which tells the simulator we've accepted a conference invitation @@ -23998,49 +23084,49 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Key of sender @@ -24088,20 +23174,22 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Sent from the simulator to the viewer. + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with the string "ENTER" or "LEAVE" respectively. @@ -24111,13 +23199,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -24138,101 +23226,102 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data + Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data @@ -24257,7 +23346,7 @@ - A message sent from the viewer to the simulator which + A message sent from the viewer to the simulator which specifies that the user has changed current URL of the specific media on a prim face @@ -24281,13 +23370,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Base class used for the ObjectMedia message @@ -24317,7 +23406,7 @@ Deserialize the message - An containing the data + An containing the data @@ -24349,7 +23438,7 @@ Deserialize the message - An containing the data + An containing the data @@ -24381,7 +23470,7 @@ Deserialize the message - An containing the data + An containing the data @@ -24395,13 +23484,13 @@ Serialize the object - An containing the objects data + An containing the objects data Deserialize the message - An containing the data + An containing the data Details about object resource usage @@ -24428,14 +23517,13 @@ Deserializes object from OSD - An containing the data + An containing the data Makes an instance based on deserialized data - - serialized data + serialized data Instance containg deserialized data @@ -24457,20 +23545,19 @@ Parcel owner - Array of containing per object resource usage + Array of containing per object resource usage Deserializes object from OSD - An containing the data + An containing the data Makes an instance based on deserialized data - - serialized data + serialized data Instance containg deserialized data @@ -24489,14 +23576,13 @@ Serializes object - - serialized data + serialized data Deserializes object from OSD - An containing the data + An containing the data Agent resource usage @@ -24508,21 +23594,20 @@ Deserializes object from OSD - An containing the data + An containing the data Makes an instance based on deserialized data - - serialized data + serialized data Instance containg deserialized data Detects which class handles deserialization of this message - An containing the data + An containing the data Object capable of decoding this message @@ -24535,14 +23620,13 @@ Serializes object - - serialized data + serialized data Deserializes object from OSD - An containing the data + An containing the data Response message for parcel resource usage @@ -24557,33 +23641,32 @@ Serializes object - - serialized data + serialized data Deserializes object from OSD - An containing the data + An containing the data Detects which class handles deserialization of this message - An containing the data + An containing the data Object capable of decoding this message Parcel resource usage - Array of containing per percal resource usage + Array of containing per percal resource usage Deserializes object from OSD - An containing the data + An containing the data @@ -24656,1767 +23739,2522 @@ OSD containting the messaage - + - Return a decoded capabilities message as a strongly typed object - - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event - - - - Permissions for control of object media + Provides helper methods for parallelizing loops - + - Style of cotrols that shold be displayed to the user + Executes a for loop in which iterations may run in parallel + + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop + + + + Executes a for loop in which iterations may run in parallel + + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop + + + + Executes a foreach loop in which iterations may run in parallel + + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection + + + + Executes a foreach loop in which iterations may run in parallel + + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection + + + + Executes a series of tasks in parallel + + A series of method bodies to execute + + + + Executes a series of tasks in parallel + + The number of concurrent execution threads to run + A series of method bodies to execute + + + Sort by name + + + Sort by date + + + Sort folders by name, regardless of whether items are + sorted by name or date + + + Place system folders at the top + + + + Possible destinations for DeRezObject request - + + + + + Copy from in-world to agent inventory + + + Derez to TaskInventory + + + + + + Take Object + + + + + + Delete Object + + + Put an avatar attachment into agent inventory + + + + + + Return an object back to the owner's inventory + + + Return a deeded object back to the last owner's inventory + + - Class representing media data for a single face + Upper half of the Flags field for inventory items - - Is display of the alternative image enabled + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez - - Should media auto loop + + Indicates that the object sale information has been + changed - - Shoule media be auto played + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - Auto scale media to prim face + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - Should viewer automatically zoom in on the face when clicked + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - Style of controls viewer should display when - viewer media on this face + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - Starting URL for the media + + Indicates whether this object is composed of multiple + items or not - - Currently navigated URL + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted - - Media height in pixes - - - Media width in pixels - - - Who can controls the media - - - Who can interact with the media - - - Is URL whitelist enabled - - - Array of URLs that are whitelisted - - + - Serialize to OSD - - OSDMap with the serialized data - - - - Deserialize from OSD data - - Serialized OSD data - Deserialized object - - - - Particle system specific enumerators, flags and methods. + Base Class for Inventory Items - + + of item/folder + + + of parent folder + + + Name of item/folder + + + Item/Folder Owners + + + + Constructor, takes an itemID as a parameter + + The of the item + + + + + + + + + + + + + + + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryBase fields + + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same + + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same + + + + Convert inventory to OSD + + OSD representation + + + + An Item in Inventory + + + + The of this item + + + The combined of this item + + + The type of item from + + + The type of item from the enum + + + The of the creator of this item + + + A Description of this item + + + The s this item is set to or owned by + + + If true, item is owned by a group + + + The price this item can be purchased for + + + The type of sale from the enum + + + Combined flags from + + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) + + + Used to update the AssetID in requests sent to the server + + + The of the previous owner of the item + + + + Construct a new InventoryItem object + + The of the item + + + + Construct a new InventoryItem object of a specific Type + + The type of item from + of the item + + + + Indicates inventory item is a link + + True if inventory item is a link to another inventory item + + + + + + + + + + + + + + + + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryItem fields + + + + Compares an object + + The object to compare + true if comparison object matches + + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same + + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same + + + + Create InventoryItem from OSD + + OSD Data that makes up InventoryItem + Inventory item created + + + + Convert InventoryItem to OSD + + OSD representation of InventoryItem + + + + InventoryTexture Class representing a graphical image + + + + + + Construct an InventoryTexture object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryTexture object from a serialization stream + + + + + InventorySound Class representing a playable sound + + + + + Construct an InventorySound object + + A which becomes the + objects AssetUUID + + + + Construct an InventorySound object from a serialization stream + + + + + InventoryCallingCard Class, contains information on another avatar + + + + + Construct an InventoryCallingCard object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryCallingCard object from a serialization stream + + + + + InventoryLandmark Class, contains details on a specific location + + + + + Construct an InventoryLandmark object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryLandmark object from a serialization stream + + + + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + + + + + InventoryObject Class contains details on a primitive or coalesced set of primitives + + + + + Construct an InventoryObject object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryObject object from a serialization stream + + + + + Gets or sets the upper byte of the Flags value + + + + + Gets or sets the object attachment point, the lower byte of the Flags value + + + + + InventoryNotecard Class, contains details on an encoded text document + + + + + Construct an InventoryNotecard object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryNotecard object from a serialization stream + + + + + InventoryCategory Class + + TODO: Is this even used for anything? + + + + Construct an InventoryCategory object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryCategory object from a serialization stream + + + + + InventoryLSL Class, represents a Linden Scripting Language object + + + + + Construct an InventoryLSL object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryLSL object from a serialization stream + + + + + InventorySnapshot Class, an image taken with the viewer + + + + + Construct an InventorySnapshot object + + A which becomes the + objects AssetUUID + + + + Construct an InventorySnapshot object from a serialization stream + + + + + InventoryAttachment Class, contains details on an attachable object + + + + + Construct an InventoryAttachment object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryAttachment object from a serialization stream + + + + + Get the last AttachmentPoint this object was attached to + + + + + InventoryWearable Class, details on a clothing item or body part + + + + + Construct an InventoryWearable object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryWearable object from a serialization stream + + + + + The , Skin, Shape, Skirt, Etc + + + + + InventoryAnimation Class, A bvh encoded object which animates an avatar + + + + + Construct an InventoryAnimation object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryAnimation object from a serialization stream + + + + + InventoryGesture Class, details on a series of animations, sounds, and actions + + + + + Construct an InventoryGesture object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryGesture object from a serialization stream + + + + + A folder contains s and has certain attributes specific + to itself + + + + The Preferred for a folder. + + + The Version of this folder + + + Number of child items this folder contains. + + + + Constructor + + UUID of the folder + + + + + + + + + + Get Serilization data for this InventoryFolder object + + + + + Construct an InventoryFolder object from a serialization stream + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create InventoryFolder from OSD + + OSD Data that makes up InventoryFolder + Inventory folder created + + + + Convert InventoryItem to OSD + + OSD representation of InventoryItem + + + + Tools for dealing with agents inventory + + + + Used for converting shadow_id to asset_id + + + The event subscribers, null of no subscribers + + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Partial mapping of AssetTypes to folder names + + Default constructor + Reference to the GridClient object - + - Complete structure for the particle system + Fetch an inventory item from the dataserver + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event - + - Decodes a byte[] array into a ParticleSystem Object + Request A single inventory item - ParticleSystem object - Start position for BitPacker + The items + The item Owners + - + - Particle source pattern + Request inventory items + Inventory items to request + Owners of the inventory items + - - None - - - Drop particles from source position with no force - - - "Explode" particles in all directions - - - Particles shoot across a 2D area - - - Particles shoot across a 3D Cone - - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - - + - Particle Data Flags + Request inventory items via Capabilities + Inventory items to request + Owners of the inventory items + - - None - - - Interpolate color and alpha from start to end - - - Interpolate scale from start to end - - - Bounce particles off particle sources Z height - - - velocity of particles is dampened toward the simulators wind - - - Particles follow the source - - - Particles point towards the direction of source's velocity - - - Target of the particles - - - Particles are sent in a straight line - - - Particles emit a glow - - - used for point/grab/touch - - + - Particle Flags Enum + Get contents of a folder + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested - - None - - - Acceleration and velocity for particles are - relative to the object rotation - - - Particles use new 'correct' angle parameters - - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer - - - - pattern of particles - - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds - - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted - - - A in radians that specifies where particles will not be created - - - A in radians that specifies where particles will be created - - - A representing the number of seconds between burts. - - - A representing the number of meters - around the center of the source where particles will be created. - - - A representing in seconds, the minimum speed between bursts of new particles - being emitted - - - A representing in seconds the maximum speed of new particles being emitted. - - - A representing the maximum number of particles emitted per burst - - - A which represents the velocity (speed) from the source which particles are emitted - - - A which represents the Acceleration from the source which particles are emitted - - - The Key of the texture displayed on the particle - - - The Key of the specified target object or avatar particles will follow - - - Flags of particle from - - - Max Age particle system will emit particles for - - - The the particle has at the beginning of its lifecycle - - - The the particle has at the ending of its lifecycle - - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 - - + - Generate byte[] array from particle data + Request the contents of an inventory folder - Byte array + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - + - Parameters used to construct a visual representation of a primitive + Request the contents of an inventory folder using HTTP capabilities + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - + + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type + This will return the root folder if one does not exist + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure - + + Find an object in inventory using a specific path to search + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found - + + Find inventory items by path + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event - + + Search inventory Store object for an item or folder + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found - + + Move an inventory item or folder to a new location + The item or folder to move + The to move item or folder to - + + Move an inventory item or folder to a new location and change its name + The item or folder to move + The to move item or folder to + The name to change the item or folder to - + + Move and rename a folder + The source folders + The destination folders + The name to change the folder to - + + Update folder properties + of the folder to update + Sets folder's parent to + Folder name + Folder type - + + Move a folder + The source folders + The destination folders - + + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. + A Dictionary containing the + of the source as the key, and the + of the destination as the value - + + Move an inventory item to a new folder + The of the source item to move + The of the destination folder - + + Move and rename an inventory item + The of the source item to move + The of the destination folder + The name to change the folder to - + + Move multiple inventory items to new locations + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value - + + Remove descendants of a folder + The of the folder - + + Remove a single item from inventory + The of the inventory item to remove - + + Remove a folder from inventory + The of the folder to remove - + + Remove multiple items or folders from inventory + A List containing the s of items to remove + A List containing the s of the folders to remove - + + Empty the Lost and Found folder - + + Empty the Trash folder - + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + - + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + - - Attachment point to an avatar - - + + Creates a new inventory folder + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder - + + Creates a new inventory folder + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use AssetType.Unknown + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems - + + Create an inventory item and upload asset data + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure - + + Create an inventory item and upload asset data + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure - + - Calculdates hash code for prim construction data + Creates inventory link to another inventory item or folder - The has + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link - + - Information on the flexible properties of a primitive + Creates inventory link to another inventory item + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link - + - Default constructor + Creates inventory link to another inventory folder + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link - + + Creates inventory link to another inventory item or folder - - - - + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link - + + + + + + - + + + + + + + - + + + + + + + - + + Request a copy of an asset embedded within a notecard + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory - + + + - + + + - + + - - + + - + + - - + + + - + - Information on the light properties of a primitive + Save changes to notecard embedded in object contents + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information - + - Default constructor + Upload new gesture asset for an inventory gesture item + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete - + + Update an existing script in an agents Inventory - - - - + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + - + + Update an existing script in an task Inventory + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + - + + Rez an object from inventory + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details - + + Rez an object from inventory + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object - + + Rez an object from inventory + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - + + Rez an object from inventory + Simulator to place object in + TaskID object when rezzed + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - + + DeRez an object from the simulator to the agents Objects folder in the agents Inventory - - + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - + + DeRez an object from the simulator and return to inventory - - + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - + - Information on the sculpt properties of a sculpted primitive + Rez an item from inventory to its previous simulator location + + + + - + - Default constructor + Give an inventory item to another avatar + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - + + Give an inventory Folder with contents to another avatar - - - - + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - + - Render inside out (inverts the normals). + Copy or move an from agent inventory to a task (primitive) inventory + The target object + The item to copy or move from inventory + + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory - + - Render an X axis mirror of the sculpty. + Retrieve a listing of the items contained in a task (Primitive) + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded - + - Extended properties to describe an object + Request the contents of a tasks (primitives) inventory from the + current simulator + The LocalID of the object + - + - Default constructor + Request the contents of a tasks (primitives) inventory + The simulator Local ID of the object + A reference to the simulator object that contains the object + - + + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event - + + Remove an item from an objects (Prim) Inventory + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event - - - + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + + - + + Request the running status of a script contained in a task (primitive) inventory + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + - + + Send a request to set the running state of a script contained in a task (primitive) inventory + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event - + + Create a CRC from an InventoryItem + The source InventoryItem + A uint representing the source InventoryItem as a CRC - + + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + Obfuscated shadow_id value + Deobfuscated asset_id value - + + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + asset_id value to obfuscate + Obfuscated shadow_id value - + + Wrapper for creating a new object + The type of item from the enum + The of the newly created object + An object with the type and id passed - + + Parse the results of a RequestTaskInventory() response + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... - + + Get this agents Inventory data - + + Callback for inventory item creation finishing + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null - + + Callback for an inventory item being create from an uploaded asset + true if inventory item creation was successful + + + - + + + - + + Reply received when uploading an inventory asset + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID - + + Delegate that is invoked when script upload is completed + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID - + + Set to true to accept offer, false to decline it + + + The folder to accept the inventory into, if null default folder for will be used + + + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. - + - Set the properties that are set in an ObjectPropertiesFamily packet + Map layer request type - - that has - been partially filled by an ObjectPropertiesFamily packet - + + Objects and terrain are shown + + + Only the terrain is shown, no objects + + + Overlay showing land for sale and for auction + + - Describes physics attributes of the prim + Type of grid item, such as telehub, event, populator location, etc. - - Primitive's local ID + + Telehub - - Density (1000 for normal density) + + PG rated event - - Friction + + Mature rated event - - Gravity multiplier (1 for normal gravity) + + Popular location - - Type of physics representation of this primitive in the simulator + + Locations of avatar groups in a region - - Restitution + + Land for sale - - - Creates PhysicsProperties from OSD - - OSDMap with incoming data - Deserialized PhysicsProperties object + + Classified ad - - - Serializes PhysicsProperties to OSD - - OSDMap with serialized PhysicsProperties data + + Adult rated event - + + Adult land for sale + + - Texture animation mode + Information about a region on the grid map - - Disable texture animation + + Sim X position on World Map - - Enable texture animation + + Sim Y position on World Map - - Loop when animating textures + + Sim Name (NOTE: In lowercase!) - - Animate in reverse direction + + - - Animate forward then reverse + + Appears to always be zero (None) - - Slide texture smoothly instead of frame-stepping + + Sim's defined Water Height - - Rotate texture instead of using frames + + - - Scale texture instead of using frames + + UUID of the World Map image - - - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry - + + Unique identifier for this region, a combination of the X + and Y position - + - Contains the definition for individual faces + - - + - + + + - + + + + - + + Visual chunk of the grid map - + + Base class for Map Items - - - + + The Global X position of the item - - - + + The Global Y position of the item - - - + + Get the Local X position of the item - - - + + Get the Local Y position of the item - - - + + Get the Handle of the region - + + Represents an agent or group of agents location - - In the future this will specify whether a webpage is - attached to this face - - + + Represents a Telehub location - + + Represents a non-adult parcel of land for sale - - - + - Represents all of the texturable faces for an object + Represents an Adult parcel of land for sale - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces - + - Constructor that takes a default texture UUID + Represents a PG Event - Texture UUID to use as the default texture - + - Constructor that takes a TextureEntryFace for the - default face + Represents a Mature event - Face to use as the default face - + - Constructor that creates the TextureEntry class from a byte array + Represents an Adult event - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes - + + Manages grid-wide tasks such as the world map - - - + + The event subscribers. null if no subcribers - - - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists - - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator - - - - - - - + + Thread sync lock object - - - - - + + The event subscribers. null if no subcribers - - - - - + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator - - - - - + + Thread sync lock object - - - Controls the texture animation of a particular prim - + + The event subscribers. null if no subcribers - - - - - - - + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator - - - + + Thread sync lock object - - - + + The event subscribers. null if no subcribers - - - + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator - - - + + Thread sync lock object - - - + + The event subscribers. null if no subcribers - - - + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator - - - + + Thread sync lock object - - - - - + + A dictionary of all the regions, indexed by region name - + + A dictionary of all the regions, indexed by region handle + + - Current version of the media data for the prim + Constructor + Instance of GridClient object to associate with this GridManager instance - + - Array of media entries indexed by face number + + - + + Request a map layer + The name of the region + The type of layer - + + + + + + + + - + + + + + + + - + + + + + - + + Request data for all mainland (Linden managed) simulators - + + Request the region handle for the specified region UUID + UUID of the region to look up - + + Get grid region information using the region name, this function + will block until it can find the region or gives up + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the simulator sends a + containing the location of agents in the simulator + + + Raised when the simulator sends a Region Data in response to + a Map request + + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information + + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location - - Foliage type for this primitive. Only applicable if this - primitive is foliage + + Raised in response to a Region lookup - + Unknown - - - + + Current direction of the sun - - - + + Current angular velocity of the sun - - - + + Microseconds since the start of SL 4-hour day - + + + Looking direction, must be a normalized vector + Up direction, must be a normalized vector - + + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians + Absolute rotation around the Z axis in + radians - - - + + Origin position of this coordinate frame - - - + + X axis of this coordinate frame, or Forward/At in grid terms - - - + + Y axis of this coordinate frame, or Left in grid terms - - - + + Z axis of this coordinate frame, or Up in grid terms - + + Represents a texture - - - + + A object containing image data - - - + + - - Identifies the owner if audio or a particle system is - active + + - - - + + Initializes a new instance of an AssetTexture object - + + Initializes a new instance of an AssetTexture object + A unique specific to this asset + A byte array containing the raw asset data - + + Initializes a new instance of an AssetTexture object + A object containing texture data - + + Populates the byte array with a JPEG2000 + encoded image created from the data in - + + Decodes the JPEG2000 data in AssetData to the + object + True if the decoding was successful, otherwise false - + + Decodes the begin and end byte positions for each quality layer in + the image + - - - + + Override the base classes AssetType - + + Class for controlling various system settings. + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically - - - + + Main grid login server - - - + + Beta grid login server - + + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. - + + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. - - Objects physics engine propertis + + Number of milliseconds between sending pings to each sim - - Extra data about primitive + + Number of milliseconds between sending camera updates - - Indicates if prim is attached to an avatar + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects - - - + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked - - - + + The initial size of the packet inbox, where packets are + stored before processing - - Uses basic heuristics to estimate the primitive shape + + Maximum size of packet that we want to send over the wire - - - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values - - Floating point parameter to pack - Signed eight bit value containing the packed parameter + + The maximum value of a packet sequence number before it + rolls over back to one - - - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values - - Signed eight bit value to unpack - Unpacked floating point value + + The relative directory where external resources are kept - - - The type of bump-mapping applied to a face - + + Login server to connect to - - - + + IP Address the client will bind to - - - + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login - + + Use Caps for fetching inventory where available - - - + + Number of milliseconds before an asset transfer will time + out - - - + + Number of milliseconds before a teleport attempt will time + out - - - + + Number of milliseconds before NetworkManager.Logout() will + time out - - - + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly - - - + + Number of milliseconds for xml-rpc to timeout - - - + + Milliseconds before a packet is assumed lost and resent - - - + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost - - - + + Milliseconds to wait for a simulator info request through + the grid interface - - - + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets - - - + + Maximum number of queued ACKs to be sent before SendAcks() + is forced - - - + + Network stats queue length (seconds) - + + Primitives will be reused when falling in/out of interest list (and shared between clients) + prims returning to interest list do not need re-requested + Helps also in not re-requesting prim.Properties for code that checks for a Properties == null per client - + + Pool parcel data between clients (saves on requesting multiple times when all clients may need it) - + + How long to preserve cached data when no client is connected to a simulator + The reason for setting it to something like 2 minutes is in case a client + is running back and forth between region edges or a sim is comming and going - - - + + Enable/disable storing terrain heightmaps in the + TerrainManager - - - The level of shininess applied to a face - + + Enable/disable sending periodic camera updates - - - + + Enable/disable automatically setting agent appearance at + login and after sim crossing - - - + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems - - - + + Enable/disable the sending of pings to monitor lag and + packet loss - - - + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) - - - The texture mapping style used for a face - + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information - - - + + If true, when a cached object check is received from the + server the full object info will automatically be requested - - - + + Whether to establish connections to HTTP capabilities + servers for simulators - - - + + Whether to decode sim stats - - - + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors - - - Flags in the TextureEntry block that describe which properties are - set - + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched - - - + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting - - - + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - - + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - - + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects - + + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. - - - + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received - + + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list - + + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. - + + If true, images, and other assets downloaded from the server + will be cached in a local directory - - - + + Path to store cached texture data - - - + + Maximum size cached files are allowed to take on disk (bytes) - - - + + Default color used for viewer particle effects - - - Level of Detail mesh - + + Maximum number of times to resend a failed packet - - - Contains all mesh faces that belong to a prim - - - - List of primitive faces + + Throttle outgoing packet rate - - - Decodes mesh asset into FacetedMesh - - Mesh primitive - Asset retrieved from the asset server - Level of detail - Resulting decoded FacetedMesh - True if mesh asset decoding was successful + + UUID of a texture used by some viewers to indentify type of client used - + - Constructor for default logging settings + Download textures using GetTexture capability when available - - Enable logging - - - The folder where any logs will be created + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles - - This will be prepended to beginning of each log file - - - The suffix or extension to be appended to each log file - - + - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + This is a static variable which applies to all instances - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - + - Event for most mundane request reposnses. + Textures taking longer than this value will be flagged as timed out and removed from the pipeline - - Response to Connector.Create request - - - Response to Aux.GetCaptureDevices request - - - Response to Aux.GetRenderDevices request - - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter - - - Response to Account.Login request - - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another - - + - List of audio input devices + Get or set the minimum log level to output to the console by default + + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net - - - List of audio output devices - + + Attach avatar names to log messages - - - Set audio test mode - + + Log packet retransmission info - - - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully - - Handle returned from successful Connector �create� request - User's account name - User's account password - Values may be �AutoAnswer� or �VerifyAnswer� - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be �on state change�, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 � Never - 5 � 10 times per second - 10 � 5 times per second - 50 � 1 time per second - 100 � on participant state change (this is the default) - false - - + + Log disk cache misses and other info - - - This is used to logout a user session. It should only be called with a valid AccountHandle. - - Handle returned from successful Connector �login� request - - + + Constructor + Reference to a GridClient object - - - This is used to get a list of audio devices that can be used for capture (input) of voice. - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - This is used to get a list of audio devices that can be used for render (playback) of voice. - + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login - + - This command is used to select the render device. + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. - The name of the device as returned by the Aux.GetRenderDevices command. + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + - - - This command is used to select the capture device. - - The name of the device as returned by the Aux.GetCaptureDevices command. + + Networking subsystem - - - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. - - (unused but required) - - + + Settings class including constant values and changeable + parameters for everything - - - This command is used to stop the audio capture process. - - - + + Parcel (subdivided simulator lots) subsystem - - - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. - - the microphone volume (-100 to 100 inclusive) - - + + Our own avatars subsystem - - - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. - - the speaker volume (-100 to 100 inclusive) - - + + Other avatars subsystem - - - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources - - A string value indicting the Application name - URL for the management server - LoggingSettings - - - - + + Estate subsystem - - - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources - - Handle returned from successful Connector �create� request + + Friends list subsystem - - - Mute or unmute the microphone - - Handle returned from successful Connector �create� request - true (mute) or false (unmute) + + Grid (aka simulator group) subsystem - - - Mute or unmute the speaker - - Handle returned from successful Connector �create� request - true (mute) or false (unmute) + + Object subsystem - - - Set microphone volume - - Handle returned from successful Connector �create� request - The level of the audio, a number between -100 and 100 where - 0 represents �normal� speaking volume + + Group subsystem - - - Set local speaker volume - - Handle returned from successful Connector �create� request - The level of the audio, a number between -100 and 100 where - 0 represents �normal� speaking volume + + Asset subsystem - - - Start up the Voice service. - + + Appearance subsystem - - - Handle miscellaneous request status - - - - - - ///If something goes wrong, we log it. - - - Cleanup oject resources - + + Inventory subsystem - - - Request voice cap when changing regions - + + Directory searches including classifieds, people, land + sales, etc - - - Handle a change in session state - - - - - Close a voice session - - - - - - - Locate a Session context from its handle - - Creates the session context if it does not exist. - - - - Handle completion of main voice cap request. - - - - - - - - - - - Daemon has started so connect to it. - + + Handles land, wind, and cloud heightmaps - - - The daemon TCP connection is open. - + + Handles sound-related networking - - - Handle creation of the Connector. - + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types - + - Handle response to audio output device query + Default constructor - + - Handle response to audio input device query + Return the full name of this instance + Client avatars full name - + - Set voice channel for new parcel + Class that handles the local asset cache - + - Request info from a parcel capability Uri. + Default constructor - - + A reference to the GridClient object - + - Receive parcel voice cap + Disposes cleanup timer - - - - - - - + - Tell Vivox where we are standing + Only create timer when needed - This has to be called when we move or turn. - + - Start and stop updating out position. + Return bytes read from the local asset cache, null if it does not exist - - + UUID of the asset we want to get + Raw bytes of the asset, or null on failure - + - Starts a thread that keeps the daemon running + Returns ImageDownload object of the + image from the local image cache, null if it does not exist - - - - + UUID of the image we want to get + ImageDownload object containing the image, or null on failure - + - Stops the daemon and the thread keeping it running + Constructs a file name of the cached asset + UUID of the asset + String with the file name of the cahced asset - + + Constructs a file name of the static cached asset - - - - - - + UUID of the asset + String with the file name of the static cached asset - + - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an �outbound� call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. + Saves an asset to the local cache - Handle returned from successful Connector �create� request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - �ClearText� or �SHA1UserName�. If this element does not exist, it is assumed to be �ClearText�. If it is - �SHA1UserName�, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final �=� character stripped off. - - - - - - + UUID of the asset + Raw bytes the asset consists of + Weather the operation was successfull - + - Used to accept a call + Get the file name of the asset stored with gived UUID - SessionHandle such as received from SessionNewEvent - "default" - - + UUID of the asset + Null if we don't have that UUID cached on disk, file name if found in the cache folder - + - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. + Checks if the asset exists in the local cache - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - - + UUID of the asset + True is the asset is stored in the cache, otherwise false - + - This command is used to stop the audio render process. + Wipes out entire cache - The fully qualified path to the sound file issued in the start render command. - - - + - This is used to �end� an established session (i.e. hang-up or disconnect). + Brings cache size to the 90% of the max size - Handle returned from successful Session �create� request or a SessionNewEvent - - - + - Set the combined speaking and listening position in 3D space. + Asynchronously brings cache size to the 90% of the max size - Handle returned from successful Session �create� request or a SessionNewEvent - Speaking position - Listening position - - - + - Set User Volume for a particular user. Does not affect how other users hear that user. + Adds up file sizes passes in a FileInfo array - Handle returned from successful Session �create� request or a SessionNewEvent - - - The level of the audio, a number between -100 and 100 where 0 represents �normal� speaking volume - - - - - Positional vector of the users position - - - Velocity vector of the position - - - At Orientation (X axis) of the position - - - Up Orientation (Y axis) of the position - - - Left Orientation (Z axis) of the position - + - Extract the avatar UUID encoded in a SIP URI + Checks whether caching is enabled - - - - - + - Represents a single Voice Session to the Vivox service. + Periodically prune the cache - + - Close this session. + Nicely formats file sizes + Byte size we want to output + String with humanly readable file size - + - Look up an existing Participants in this session + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled - - - - - + + How long (in ms) between cache checks (default is 5 min.) - - - - - + - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. + Helper class for sorting files by their last accessed time - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 3e210ba7b3c8b161cb856b8c39def22d580639d8..4b558e728190ab19a4107687799f68265a8624af 100755 GIT binary patch literal 1806336 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 QC0&aO3wj?(|ZwRc>aI2u^ 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

Y}4xWoior`*NFeyEqma7MtUhb~z<*uD9 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

MPhL};S`w{O*tP~=O`7Dyz2|5e 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�=~_>9i7&q#AaI+Tr?8|AyNHbSV#T~kF% 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

^$yd;CQ+pA9EIw zv7TzD22J@^JGH|6SYWlYQ80Uc+-aow*q=3yb&lBYr=46h<*RY#gZchyoP=QZ{J0~H zNY=kM@~kr#jN{q!<4%PTXU~s28_C$8P0qY?aX$8ElXDN6*5BmZ59aG{avl-P-XC{r zX+GBTigS>R{n_jc9x3*Fi<1H7`L;M&g4y#bPA-n8e!u3Fkul#JP9>W5_olN$m>&zg z>BP?S*Tekm`Eh4HnBPBdJL$Q}ID3BF$pvGaJwNU=lCeMAoW?w{KiiyX=Zp1hb7p{f zJ=>hwg4uc8S%l-Mo)#xT#(F+>CgqFyTAgAr&)4eA5X{~mcjn`G%J-SGfsFauoF+8& zXS-k;v>)Qm&p{j=NY zngFKtcRL5cyq?`oN-UY5oyQ#wjQOMSADo$Ftmh}E0!{gTc2)}W+4JL0m0$7cl<$C32j=+> zI1Pf?^W#nn&BuJ*PTB=xzQ3ITXv%lk$p!O#hn*V1?D=u0ndbZX_C|WRUSYDo?D=tb z1ejmHRJVwX_jj7xMaJuw<{Fb=KeT?D>wx+CY3>Pv+4JLW7LKR;G3YKOF2H!%-$b&8)!aWpW|Jr2=ie*{oNcilxW|C(GSK#(E;I zHU;uizHB!N=J~SSa|E;Z$K4o?r|W&DyM~PUa@+)(@(p*>rY7rU-*4*96U?3;cUOY> z^&a7N2yyoOxSKi+>-YEH9Xa1kCu4ucx(#H!-ecXJXj*@)y9>*(e|reudlXs${-cpu!CbX77)?>0rzsjopm74?R{aNMa3TE$*yM;KO?#D_u_c}4(BkpZz+FzAh4(9o)+Z5?LLF1{nfb7gL%Fh zcavat9(S8)KJM>XcfJK%#cd_y&&w9K;znE_?}sh!Iy9}n#eEUX*Wcp4Dwv(e-DaAP^}ObKH;MJU;pU?$ z-JKnacjufpH_F~&0>FA-P_Q#eydv!=Igh*_XuX^akrZ0V?Cd_ z`^Z>No9o>o*0bHc5zO;#cNYt0=W%x>j;H%^hnrP~`@?)Y-93xNeC=+=ZN7QFcDGV+ zG~VvkgZcgQjXP^ea(trrdv^txzn=WyrY%jbSE~Q)rrnOl`{!r3rW{QD`Puyd%-8?f z{X{T3kGmZ>p6c1_X5W#_&(7m+8JhC_=DrN(`F?X>7tGG%ZVS!Fe*f+kE)(

9(RN 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

Ed+$-Xw*;qZmms0>jeIaRzM*6G-TaPT^AYs)n1r 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

}lvUqqYA(XWVN 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

I`6JWS%o6c3j;mf{~Iu1xU=i9;!tB=(~?Lt+y} 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%0A$<%wM?>##1nir{zvwDUKLgz=e!g2G{XBGs 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 - - - + + + + + diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index ce1298ee8d..52804852c2 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -1,1118 +1,9 @@ - /home/root/libomv-0.9.1-source/bin/OpenMetaverseTypes + OpenMetaverseTypes - -

- Same as Queue except Dequeue function blocks until there is an object to return. - Note: This class does not need to be synchronized - - - - - Create new BlockingQueue. - - The System.Collections.ICollection to copy elements from - - - - Create new BlockingQueue. - - The initial number of elements that the queue can contain - - - - Create new BlockingQueue. - - - - - Gets flag indicating if queue has been closed. - - - - - BlockingQueue Destructor (Close queue, resume any waiting thread). - - - - - Remove all objects from the Queue. - - - - - Remove all objects from the Queue, resume all dequeue threads. - - - - - Removes and returns the object at the beginning of the Queue. - - Object in queue. - - - - Removes and returns the object at the beginning of the Queue. - - time to wait before returning - Object in queue. - - - - Removes and returns the object at the beginning of the Queue. - - time to wait before returning (in milliseconds) - Object in queue. - - - - Adds an object to the end of the Queue - - Object to put in queue - - - - Open Queue. - - - - - Copy constructor - - Circular queue to copy - - - - An 8-bit color structure including an alpha channel - - - - - - - - - - - - - - - - - Builds a color from a byte array - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - - - - Returns the raw bytes for this vector - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - A 16 byte array containing R, G, B, and A - - - - Copy constructor - - Color to copy - - - Red - - - Green - - - Blue - - - Alpha - - - A Color4 with zero RGB values and fully opaque (alpha 1.0) - - - A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - - - - IComparable.CompareTo implementation - - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent - - - - Builds a color from a byte array - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - - - - Writes the raw bytes for this color to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Serializes this color into four bytes in a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 4 bytes before the end of the array - True to invert the output (1.0 becomes 0 - instead of 255) - - - - Writes the raw bytes for this color to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Ensures that values are in range 0-1 - - - - - Create an RGB color from a hue, saturation, value combination - - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) - - - - Performs linear interpolation between two colors - - Color to start at - Color to end at - Amount to interpolate - The interpolated color - - - - Attribute class that allows extra attributes to be attached to ENUMs - - - - Default initializer - - - Text used when presenting ENUM to user - - - Text used when presenting ENUM to user - - - - The different types of grid assets - - - - Unknown asset type - - - Texture asset, stores in JPEG2000 J2C stream format - - - Sound asset - - - Calling card for another avatar - - - Link to a location in world - - - Collection of textures and parameters that can be - worn by an avatar - - - Primitive that can contain textures, sounds, - scripts and more - - - Notecard asset - - - Holds a collection of inventory items - - - Root inventory folder - - - Linden scripting language script - - - LSO bytecode for a script - - - Uncompressed TGA texture - - - Collection of textures and shape parameters that can - be worn - - - Trash folder - - - Snapshot folder - - - Lost and found folder - - - Uncompressed sound - - - Uncompressed TGA non-square image, not to be used as a - texture - - - Compressed JPEG non-square image, not to be used as a - texture - - - Animation - - - Sequence of animations, sounds, chat, and pauses - - - Simstate file - - - Contains landmarks for favorites - - - Asset is a link to another inventory item - - - Asset is a link to another inventory folder - - - Beginning of the range reserved for ensembles - - - End of the range reserved for ensembles - - - Folder containing inventory links to wearables and attachments - that are part of the current outfit - - - Folder containing inventory items or links to - inventory items of wearables and attachments - together make a full outfit - - - Root folder for the folders of type OutfitFolder - - - Linden mesh format - - - - Inventory Item Types, eg Script, Notecard, Folder, etc - - - - Unknown - - - Texture - - - Sound - - - Calling Card - - - Landmark - - - Notecard - - - - - - - Folder - - - - - - - an LSL Script - - - - - - - - - - - - - - - - - - - - - - - - - - - - Item Sale Status - - - - Not for sale - - - The original is for sale - - - Copies are for sale - - - The contents of the object are for sale - - - - Types of wearable assets - - - - Body shape - - - Skin textures and attributes - - - Hair - - - Eyes - - - Shirt - - - Pants - - - Shoes - - - Socks - - - Jacket - - - Gloves - - - Undershirt - - - Underpants - - - Skirt - - - Alpha mask to hide parts of the avatar - - - Tattoo - - - Physics - - - Invalid wearable asset - - - - Identifier code for primitive types - - - - None - - - A Primitive - - - A Avatar - - - Linden grass - - - Linden tree - - - A primitive that acts as the source for a particle stream - - - A Linden tree - - - - Primary parameters for primitives such as Physics Enabled or Phantom - - - - Deprecated - - - Whether physics are enabled for this object - - - - - - - - - - - - - - - - - - - - - - - - - - - Whether this object contains an active touch script - - - - - - - Whether this object can receive payments - - - Whether this object is phantom (no collisions) - - - - - - - - - - - - - - - - - - - Deprecated - - - - - - - - - - - - - - - Deprecated - - - - - - - - - - - - - - - - - - - Server flag, will not be sent to clients. Specifies that - the object is destroyed when it touches a simulator edge - - - Server flag, will not be sent to clients. Specifies that - the object will be returned to the owner's inventory when it - touches a simulator edge - - - Server flag, will not be sent to clients. - - - Server flag, will not be sent to client. Specifies that - the object is hovering/flying - - - - - - - - - - - - - - - - - - - - Sound flags for sounds attached to primitives - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Material type for a primitive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Used in a helper function to roughly determine prim shape - - - - - Extra parameters for primitives, these flags are for features that have - been added after the original ObjectFlags that has all eight bits - reserved already - - - - Whether this object has flexible parameters - - - Whether this object has light parameters - - - Whether this object is a sculpted prim - - - Whether this object is a mesh - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Attachment points for objects on avatar bodies - - - Both InventoryObject and InventoryAttachment types can be attached - - - - Right hand if object was not previously attached - - - Chest - - - Skull - - - Left shoulder - - - Right shoulder - - - Left hand - - - Right hand - - - Left foot - - - Right foot - - - Spine - - - Pelvis - - - Mouth - - - Chin - - - Left ear - - - Right ear - - - Left eyeball - - - Right eyeball - - - Nose - - - Right upper arm - - - Right forearm - - - Left upper arm - - - Left forearm - - - Right hip - - - Right upper leg - - - Right lower leg - - - Left hip - - - Left upper leg - - - Left lower leg - - - Stomach - - - Left pectoral - - - Right pectoral - - - HUD Center position 2 - - - HUD Top-right - - - HUD Top - - - HUD Top-left - - - HUD Center - - - HUD Bottom-left - - - HUD Bottom - - - HUD Bottom-right - - - - Tree foliage types - - - - Pine1 tree - - - Oak tree - - - Tropical Bush1 - - - Palm1 tree - - - Dogwood tree - - - Tropical Bush2 - - - Palm2 tree - - - Cypress1 tree - - - Cypress2 tree - - - Pine2 tree - - - Plumeria - - - Winter pinetree1 - - - Winter Aspen tree - - - Winter pinetree2 - - - Eucalyptus tree - - - Fern - - - Eelgrass - - - Sea Sword - - - Kelp1 plant - - - Beach grass - - - Kelp2 plant - - - - Grass foliage types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Action associated with clicking on an object - - - - Touch object - - - Sit on object - - - Purchase object or contents - - - Pay the object - - - Open task inventory - - - Play parcel media - - - Open parcel media - - - - Type of physics representation used for this prim in the simulator - - - - Use prim physics form this object - - - No physics, prim doesn't collide - - - Use convex hull represantion of this prim - For thread safety @@ -1124,150 +15,36 @@ Purges expired objects from the cache. Called automatically by the purge timer.

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 Coz^`7 literal 1925120 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%0DUe|(c)O)xc%S;rAJW|<-sc&?v`&ailO0%|! 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 z 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

MbXUL%u(i`T1cE}_z0MAM^L(+9Z(g!1zxl0 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

- + - A thread-safe lockless queue that supports multiple readers and - multiple writers + Determines the appropriate events to set, leaves the locks, and sets the events. - + - Constructor + A routine for lazily creating a event outside the lock (so if errors + happen they are outside the lock and that we don't do much work + while holding a spin lock). If all goes well, reenter the lock and + set 'waitEvent' - + - Provides a node container for data in a singly linked list + Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. + Before the wait 'numWaiters' is incremented and is restored before leaving this routine. - - - Constructor - + + X value - - - Constructor - + + Y value - - Pointer to the next node in list + + Z value - - The data contained by the node - - - Queue head - - - Queue tail - - - Queue item count - - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate - - - - Enqueue an item - - Item to enqeue - - - - Try to dequeue an item - - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false - - - A 4x4 matrix containing all zeroes - - - A 4x4 identity matrix - - - - Convert this matrix to euler rotations - - X euler angle - Y euler angle - Z euler angle - - - - Convert this matrix to a quaternion rotation - - A quaternion representation of this rotation matrix - - - - Construct a matrix from euler rotation values in radians - - X euler angle in radians - Y euler angle in radians - Z euler angle in radians - - - - Get a formatted string representation of the vector - - A string representation of the vector - - - - Provides helper methods for parallelizing loops - - - - - Executes a for loop in which iterations may run in parallel - - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - - Executes a for loop in which iterations may run in parallel - - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection - - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection - - - - Executes a series of tasks in parallel - - A series of method bodies to execute - - - - Executes a series of tasks in parallel - - The number of concurrent execution threads to run - A series of method bodies to execute + + W value @@ -1287,21 +64,6 @@ not. If this is true 12 bytes will be read, otherwise 16 bytes will be read. - - X value - - - Y value - - - Z value - - - W value - - - A quaternion with a value of 0,0,0,1 - Normalizes the quaternion @@ -1402,328 +164,216 @@ Raw string representation of the quaternion - + + A quaternion with a value of 0,0,0,1 + + - Determines the appropriate events to set, leaves the locks, and sets the events. + A three-dimensional vector with doubleing-point values - + + X value + + + Y value + + + Z value + + - A routine for lazily creating a event outside the lock (so if errors - happen they are outside the lock and that we don't do much work - while holding a spin lock). If all goes well, reenter the lock and - set 'waitEvent' + Constructor, builds a vector from a byte array + Byte array containing three eight-byte doubles + Beginning position in the byte array - + - Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. - Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + Test if this vector is equal to another vector, within a given + tolerance range + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - - - A hierarchical token bucket for bandwidth throttling. See - http://en.wikipedia.org/wiki/Token_bucket for more information - - - - - Default constructor - - Parent bucket if this is a child bucket, or - null if this is a root bucket - Maximum size of the bucket in bytes, or - zero if this bucket has no maximum capacity - Rate that the bucket fills, in bytes per - second. If zero, the bucket always remains full - - - Parent bucket to this bucket, or null if this is a root - bucket - - - Size of the bucket in bytes. If zero, the bucket has - infinite capacity - - - Rate that the bucket fills, in bytes per millisecond. If - zero, the bucket always remains full - - - Number of tokens currently in the bucket - - - Time of the last drip, in system ticks - - - - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets - - - - - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time - - - - - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second - - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) - - - - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket - - - - Remove a given number of tokens from the bucket - - Number of tokens to remove from the bucket - True if the requested number of tokens were removed from - the bucket, otherwise false - - - - Remove a given number of tokens from the bucket - - Number of tokens to remove from the bucket - True if tokens were added to the bucket - during this call, otherwise false - True if the requested number of tokens were removed from - the bucket, otherwise false - - - - Add tokens to the bucket over time. The number of tokens added each - call depends on the length of time that has passed since the last - call to Drip - - True if tokens were added to the bucket, otherwise false - - - - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol - - - - - Constructor that takes a string UUID representation - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - - - - Constructor that takes a System.Guid object - - A Guid object that contains the unique identifier - to be represented by this UUID - - - - Constructor that takes a byte array containing a UUID - - Byte array containing a 16 byte UUID - Beginning offset in the array - - - - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID - - 64-bit unsigned integer to convert to a UUID - - - - Copy constructor - - UUID to copy - - - The System.Guid object this struct wraps around - - - An UUID with a value of all zeroes - - - A cache of UUID.Zero as a string to optimize a common path - - + IComparable.CompareTo implementation - + - Assigns this UUID from 16 bytes out of a byte array + Test if this vector is composed of all finite numbers - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array - + - Returns a copy of the raw bytes for this UUID + Builds a vector from a byte array - A 16 byte array containing this UUID + Byte array containing a 24 byte vector + Beginning position in the byte array - + - Writes the raw bytes for this UUID to a byte array + Returns the raw bytes for this vector + + A 24 byte array containing X, Y, and Z + + + + Writes the raw bytes for this vector to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + writing. Must be at least 24 bytes before the end of the array - + - Calculate an LLCRC (cyclic redundancy check) for this UUID + Parse a vector from a string - The CRC checksum for this UUID + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas - + - Create a 64-bit integer representation from the second half of this UUID - - An integer created from the last eight bytes of this UUID - - - - Generate a UUID from a string - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - - - - Generate a UUID from a string - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - Will contain the parsed UUID if successful, - otherwise null - True if the string was successfully parse, otherwise false - UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - - - - Combine two UUIDs together by taking the MD5 hash of a byte array - containing both UUIDs - - First UUID to combine - Second UUID to combine - The UUID product of the combination - - - - - - - - - - Return a hash code for this UUID, used by .NET for hash tables - - An integer composed of all the UUID bytes XORed together - - - - Comparison function - - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal - - - - Comparison function - - UUID to compare to - True if the UUIDs are equal, otherwise false - - - - Get a hyphenated string representation of this UUID - - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 - - - - Equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false - - - - Not equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true - - - - XOR operator - - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs - - - - String typecasting operator - - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation - - - - Operating system + Interpolates between two vectors using a cubic equation - - Unknown - - - Microsoft Windows - - - Microsoft Windows CE - - - Linux - - - Apple OSX - - + - Runtime platform + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector + + + + Cross product between two vectors - - .NET runtime + + + Implicit casting for Vector3 > Vector3d + + + - - Mono runtime: http://www.mono-project.com/ + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value of 1,0,0 + + + A unit vector facing left (Y axis), value of 0,1,0 + + + A unit vector facing up (Z axis), value of 0,0,1 + + + + A thread-safe lockless queue that supports multiple readers and + multiple writers + + + + Queue head + + + Queue tail + + + Queue item count + + + + Constructor + + + + + Enqueue an item + + Item to enqeue + + + + Try to dequeue an item + + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false + + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + + + + Provides a node container for data in a singly linked list + + + + Pointer to the next node in list + + + The data contained by the node + + + + Constructor + + + + + Constructor + + + + + Convert this matrix to euler rotations + + X euler angle + Y euler angle + Z euler angle + + + + Convert this matrix to a quaternion rotation + + A quaternion representation of this rotation matrix + + + + Construct a matrix from euler rotation values in radians + + X euler angle in radians + Y euler angle in radians + Z euler angle in radians + + + + Get a formatted string representation of the vector + + A string representation of the vector + + + A 4x4 matrix containing all zeroes + + + A 4x4 identity matrix Used for converting degrees to radians @@ -1731,145 +381,6 @@ Used for converting radians to degrees - - Provide a single instance of the CultureInfo class to - help parsing in situations where the grid assumes an en-us - culture - - - UNIX epoch in DateTime format - - - Provide a single instance of the MD5 class to avoid making - duplicate copies and handle thread safety - - - Provide a single instance of the SHA-1 class to avoid - making duplicate copies and handle thread safety - - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety - - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - - Round a floating-point value to the nearest integer - - Floating point number to round - Integer - - - - Test if a single precision float is a finite number - - - - - Test if a double precision float is a finite number - - - - - Get the distance between two floating-point values - - First value - Second value - The distance between the two values - - - - Compute the MD5 hash for a byte array - - Byte array to compute the hash for - MD5 hash of the input data - - - - Compute the SHA1 hash for a byte array - - Byte array to compute the hash for - SHA1 hash of the input data - - - - Calculate the SHA1 hash of a given string - - The string to hash - The SHA1 hash as a string - - - - Compute the SHA256 hash for a byte array - - Byte array to compute the hash for - SHA256 hash of the input data - - - - Calculate the SHA256 hash of a given string - - The string to hash - The SHA256 hash as a string - - - - Calculate the MD5 hash of a given string - - The password to hash - An MD5 hash in string format, with $1$ prepended - - - - Calculate the MD5 hash of a given string - - The string to hash - The MD5 hash as a string - - - - Generate a random double precision floating point value - - Random value of type double - - - - Get the current running platform - - Enumeration of the current platform we are running on - - - - Get the current running runtime - - Enumeration of the current runtime we are running on - Convert the first two bytes starting in the byte array in @@ -2155,7 +666,7 @@ Takes an AssetType and returns the string representation - The source + The source The string version of the AssetType @@ -2169,7 +680,7 @@ Convert an InventoryType to a string - The to convert + The to convert A string representation of the source @@ -2183,7 +694,7 @@ Convert a SaleType to a string - The to convert + The to convert A string representation of the source @@ -2258,7 +769,7 @@ Convert a native DateTime object to a UNIX timestamp - A DateTime object you want to convert to a + A DateTime object you want to convert to a timestamp An unsigned integer representing a UNIX timestamp @@ -2289,330 +800,760 @@ Attempts to convert a string representation of a hostname or IP - address to a + address to a + Hostname to convert to an IPAddress Converted IP address object, or null if the conversion failed - + + Provide a single instance of the CultureInfo class to + help parsing in situations where the grid assumes an en-us + culture + + + UNIX epoch in DateTime format + + + Provide a single instance of the MD5 class to avoid making + duplicate copies and handle thread safety + + + Provide a single instance of the SHA-1 class to avoid + making duplicate copies and handle thread safety + + + Provide a single instance of a random number generator + to avoid making duplicate copies and handle thread safety + + - A two-dimensional vector with floating-point values + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Round a floating-point value to the nearest integer + + Floating point number to round + Integer + + + + Test if a single precision float is a finite number - - X value - - - Y value - - - A vector with a value of 0,0 - - - A vector with a value of 1,1 - - - A vector with a value of 1,0 - - - A vector with a value of 0,1 - - + - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - Test if this vector is composed of all finite numbers + Test if a double precision float is a finite number - + - IComparable.CompareTo implementation + Get the distance between two floating-point values + + First value + Second value + The distance between the two values + + + + Compute the MD5 hash for a byte array + + Byte array to compute the hash for + MD5 hash of the input data + + + + Compute the SHA1 hash for a byte array + + Byte array to compute the hash for + SHA1 hash of the input data + + + + Calculate the SHA1 hash of a given string + + The string to hash + The SHA1 hash as a string + + + + Compute the SHA256 hash for a byte array + + Byte array to compute the hash for + SHA256 hash of the input data + + + + Calculate the SHA256 hash of a given string + + The string to hash + The SHA256 hash as a string + + + + Calculate the MD5 hash of a given string + + The password to hash + An MD5 hash in string format, with $1$ prepended + + + + Calculate the MD5 hash of a given string + + The string to hash + The MD5 hash as a string + + + + Generate a random double precision floating point value + + Random value of type double + + + + Get the current running platform + + Enumeration of the current platform we are running on + + + + Get the current running runtime + + Enumeration of the current runtime we are running on + + + + Operating system - - - Builds a vector from a byte array - - Byte array containing two four-byte floats - Beginning position in the byte array + + Unknown - - - Returns the raw bytes for this vector - - An eight-byte array containing X and Y + + Microsoft Windows - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array + + Microsoft Windows CE - - - Parse a vector from a string - - A string representation of a 2D vector, enclosed - in arrow brackets and separated by commas + + Linux - + + Apple OSX + + - Interpolates between two vectors using a cubic equation + Runtime platform - - - Get a formatted string representation of the vector - - A string representation of the vector + + .NET runtime - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector + + Mono runtime: http://www.mono-project.com/ - + - A three-dimensional vector with floating-point values + Identifier code for primitive types - + + None + + + A Primitive + + + A Avatar + + + Linden grass + + + Linden tree + + + A primitive that acts as the source for a particle stream + + + A Linden tree + + - Constructor, builds a vector from a byte array - - Byte array containing three four-byte floats - Beginning position in the byte array - - - X value - - - Y value - - - Z value - - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value 1,0,0 - - - A unit vector facing left (Y axis), value 0,1,0 - - - A unit vector facing up (Z axis), value 0,0,1 - - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - IComparable.CompareTo implementation + Primary parameters for primitives such as Physics Enabled or Phantom - + + Deprecated + + + Whether physics are enabled for this object + + + + + + + + + + + + + + + + + + + + + Whether this object contains an active touch script + + + + + + Whether this object can receive payments + + + Whether this object is phantom (no collisions) + + + + + + + + + + + + + + + Deprecated + + + + + + + + + + + + Deprecated + + + + + + + + + + + + + + + Server flag, will not be sent to clients. Specifies that + the object is destroyed when it touches a simulator edge + + + Server flag, will not be sent to clients. Specifies that + the object will be returned to the owner's inventory when it + touches a simulator edge + + + Server flag, will not be sent to clients. + + + Server flag, will not be sent to client. Specifies that + the object is hovering/flying + + + + + + + + + + + + + + - Test if this vector is composed of all finite numbers + Sound flags for sounds attached to primitives - - - Builds a vector from a byte array - - Byte array containing a 12 byte vector - Beginning position in the byte array + + - - - Returns the raw bytes for this vector - - A 12 byte array containing X, Y, and Z + + - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array + + - - - Parse a vector from a string - - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas + + - - - Calculate the rotation between two vectors - - Normalized directional vector (such as 1,0,0 for forward facing) - Normalized target vector + + - + + + + + + + - Interpolates between two vectors using a cubic equation + Material type for a primitive - - - Get a formatted string representation of the vector - - A string representation of the vector + + - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector + + - + + + + + + + + + + + + + + + + + + + - Cross product between two vectors + Used in a helper function to roughly determine prim shape - + - A three-dimensional vector with doubleing-point values + Extra parameters for primitives, these flags are for features that have + been added after the original ObjectFlags that has all eight bits + reserved already - + + Whether this object has flexible parameters + + + Whether this object has light parameters + + + Whether this object is a sculpted prim + + + Whether this object is a light image map + + + Whether this object is a mesh + + - Constructor, builds a vector from a byte array - - Byte array containing three eight-byte doubles - Beginning position in the byte array - - - X value - - - Y value - - - Z value - - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value of 1,0,0 - - - A unit vector facing left (Y axis), value of 0,1,0 - - - A unit vector facing up (Z axis), value of 0,0,1 - - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - IComparable.CompareTo implementation + - + + + + + + + + + + - Test if this vector is composed of all finite numbers + - - - Builds a vector from a byte array - - Byte array containing a 24 byte vector - Beginning position in the byte array + + - - - Returns the raw bytes for this vector - - A 24 byte array containing X, Y, and Z + + - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 24 bytes before the end of the array + + - - - Parse a vector from a string - - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas + + - + + + + + + + + + + + + + - Interpolates between two vectors using a cubic equation + - - - Get a formatted string representation of the vector - - A string representation of the vector + + - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector + + - + + + + + + + + + + + + + + + + + + + + + + - Cross product between two vectors + - + + + + + + + + + + + + + + + + + + + + + + + + Attachment points for objects on avatar bodies + + + Both InventoryObject and InventoryAttachment types can be attached + + + + Right hand if object was not previously attached + + + Chest + + + Skull + + + Left shoulder + + + Right shoulder + + + Left hand + + + Right hand + + + Left foot + + + Right foot + + + Spine + + + Pelvis + + + Mouth + + + Chin + + + Left ear + + + Right ear + + + Left eyeball + + + Right eyeball + + + Nose + + + Right upper arm + + + Right forearm + + + Left upper arm + + + Left forearm + + + Right hip + + + Right upper leg + + + Right lower leg + + + Left hip + + + Left upper leg + + + Left lower leg + + + Stomach + + + Left pectoral + + + Right pectoral + + + HUD Center position 2 + + + HUD Top-right + + + HUD Top + + + HUD Top-left + + + HUD Center + + + HUD Bottom-left + + + HUD Bottom + + + HUD Bottom-right + + + Neck + + + Avatar Center + + - Constructor, builds a vector from a byte array + Tree foliage types - Byte array containing four four-byte floats - Beginning position in the byte array + + + Pine1 tree + + + Oak tree + + + Tropical Bush1 + + + Palm1 tree + + + Dogwood tree + + + Tropical Bush2 + + + Palm2 tree + + + Cypress1 tree + + + Cypress2 tree + + + Pine2 tree + + + Plumeria + + + Winter pinetree1 + + + Winter Aspen tree + + + Winter pinetree2 + + + Eucalyptus tree + + + Fern + + + Eelgrass + + + Sea Sword + + + Kelp1 plant + + + Beach grass + + + Kelp2 plant + + + + Grass foliage types + + + + + + + + + + + + + + + + + + + + + + + Action associated with clicking on an object + + + + Touch object + + + Sit on object + + + Purchase object or contents + + + Pay the object + + + Open task inventory + + + Play parcel media + + + Open parcel media + + + + Type of physics representation used for this prim in the simulator + + + + Use prim physics form this object + + + No physics, prim doesn't collide + + + Use convex hull represantion of this prim X value @@ -2626,23 +1567,12 @@ W value - - A vector with a value of 0,0,0,0 - - - A vector with a value of 1,1,1,1 - - - A vector with a value of 1,0,0,0 - - - A vector with a value of 0,1,0,0 - - - A vector with a value of 0,0,1,0 - - - A vector with a value of 0,0,0,1 + + + Constructor, builds a vector from a byte array + + Byte array containing four four-byte floats + Beginning position in the byte array @@ -2693,5 +1623,980 @@ Raw string representation of the vector + + A vector with a value of 0,0,0,0 + + + A vector with a value of 1,1,1,1 + + + A vector with a value of 1,0,0,0 + + + A vector with a value of 0,1,0,0 + + + A vector with a value of 0,0,1,0 + + + A vector with a value of 0,0,0,1 + + + + An 8-bit color structure including an alpha channel + + + + Red + + + Green + + + Blue + + + Alpha + + + + + + + + + + + + + Builds a color from a byte array + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + + + + Returns the raw bytes for this vector + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + A 16 byte array containing R, G, B, and A + + + + Copy constructor + + Color to copy + + + + IComparable.CompareTo implementation + + Sorting ends up like this: |--Grayscale--||--Color--|. + Alpha is only used when the colors are otherwise equivalent + + + + Builds a color from a byte array + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + + + + Writes the raw bytes for this color to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Serializes this color into four bytes in a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 4 bytes before the end of the array + True to invert the output (1.0 becomes 0 + instead of 255) + + + + Writes the raw bytes for this color to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Ensures that values are in range 0-1 + + + + + Create an RGB color from a hue, saturation, value combination + + Hue + Saturation + Value + An fully opaque RGB color (alpha is 1.0) + + + + Performs linear interpolation between two colors + + Color to start at + Color to end at + Amount to interpolate + The interpolated color + + + A Color4 with zero RGB values and fully opaque (alpha 1.0) + + + A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) + + + + Copy constructor + + Circular queue to copy + + + + A three-dimensional vector with floating-point values + + + + X value + + + Y value + + + Z value + + + + Constructor, builds a vector from a byte array + + Byte array containing three four-byte floats + Beginning position in the byte array + + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false + + + + IComparable.CompareTo implementation + + + + + Test if this vector is composed of all finite numbers + + + + + Builds a vector from a byte array + + Byte array containing a 12 byte vector + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + A 12 byte array containing X, Y, and Z + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array + + + + Parse a vector from a string + + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas + + + + Calculate the rotation between two vectors + + Normalized directional vector (such as 1,0,0 for forward facing) + Normalized target vector + + + + Interpolates between two vectors using a cubic equation + + + + + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector + + + + Cross product between two vectors + + + + + Explicit casting for Vector3d > Vector3 + + + + + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value 1,0,0 + + + A unit vector facing left (Y axis), value 0,1,0 + + + A unit vector facing up (Z axis), value 0,0,1 + + + + A 128-bit Universally Unique Identifier, used throughout the Second + Life networking protocol + + + + The System.Guid object this struct wraps around + + + + Constructor that takes a string UUID representation + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") + + + + Constructor that takes a System.Guid object + + A Guid object that contains the unique identifier + to be represented by this UUID + + + + Constructor that takes a byte array containing a UUID + + Byte array containing a 16 byte UUID + Beginning offset in the array + + + + Constructor that takes an unsigned 64-bit unsigned integer to + convert to a UUID + + 64-bit unsigned integer to convert to a UUID + + + + Copy constructor + + UUID to copy + + + + IComparable.CompareTo implementation + + + + + Assigns this UUID from 16 bytes out of a byte array + + Byte array containing the UUID to assign this UUID to + Starting position of the UUID in the byte array + + + + Returns a copy of the raw bytes for this UUID + + A 16 byte array containing this UUID + + + + Writes the raw bytes for this UUID to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Calculate an LLCRC (cyclic redundancy check) for this UUID + + The CRC checksum for this UUID + + + + Create a 64-bit integer representation from the second half of this UUID + + An integer created from the last eight bytes of this UUID + + + + Generate a UUID from a string + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") + + + + Generate a UUID from a string + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + Will contain the parsed UUID if successful, + otherwise null + True if the string was successfully parse, otherwise false + UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) + + + + Combine two UUIDs together by taking the MD5 hash of a byte array + containing both UUIDs + + First UUID to combine + Second UUID to combine + The UUID product of the combination + + + + + + + + + + Return a hash code for this UUID, used by .NET for hash tables + + An integer composed of all the UUID bytes XORed together + + + + Comparison function + + An object to compare to this UUID + True if the object is a UUID and both UUIDs are equal + + + + Comparison function + + UUID to compare to + True if the UUIDs are equal, otherwise false + + + + Get a hyphenated string representation of this UUID + + A string representation of this UUID, lowercase and + with hyphens + 11f8aa9c-b071-4242-836b-13b7abe0d489 + + + + Equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are byte for byte equal, otherwise false + + + + Not equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are not equal, otherwise true + + + + XOR operator + + First UUID + Second UUID + A UUID that is a XOR combination of the two input UUIDs + + + + String typecasting operator + + A UUID in string form. Case insensitive, + hyphenated or non-hyphenated + A UUID built from the string representation + + + An UUID with a value of all zeroes + + + A cache of UUID.Zero as a string to optimize a common path + + + + A hierarchical token bucket for bandwidth throttling. See + http://en.wikipedia.org/wiki/Token_bucket for more information + + + + Parent bucket to this bucket, or null if this is a root + bucket + + + Size of the bucket in bytes. If zero, the bucket has + infinite capacity + + + Rate that the bucket fills, in bytes per millisecond. If + zero, the bucket always remains full + + + Number of tokens currently in the bucket + + + Time of the last drip, in system ticks + + + + Default constructor + + Parent bucket if this is a child bucket, or + null if this is a root bucket + Maximum size of the bucket in bytes, or + zero if this bucket has no maximum capacity + Rate that the bucket fills, in bytes per + second. If zero, the bucket always remains full + + + + Remove a given number of tokens from the bucket + + Number of tokens to remove from the bucket + True if the requested number of tokens were removed from + the bucket, otherwise false + + + + Remove a given number of tokens from the bucket + + Number of tokens to remove from the bucket + True if tokens were added to the bucket + during this call, otherwise false + True if the requested number of tokens were removed from + the bucket, otherwise false + + + + Add tokens to the bucket over time. The number of tokens added each + call depends on the length of time that has passed since the last + call to Drip + + True if tokens were added to the bucket, otherwise false + + + + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets + + + + + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time + + + + + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second + + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) + + + + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket + + + + + A two-dimensional vector with floating-point values + + + + X value + + + Y value + + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false + + + + Test if this vector is composed of all finite numbers + + + + + IComparable.CompareTo implementation + + + + + Builds a vector from a byte array + + Byte array containing two four-byte floats + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + An eight-byte array containing X and Y + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 8 bytes before the end of the array + + + + Parse a vector from a string + + A string representation of a 2D vector, enclosed + in arrow brackets and separated by commas + + + + Interpolates between two vectors using a cubic equation + + + + + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector + + + A vector with a value of 0,0 + + + A vector with a value of 1,1 + + + A vector with a value of 1,0 + + + A vector with a value of 0,1 + + + + Attribute class that allows extra attributes to be attached to ENUMs + + + + Text used when presenting ENUM to user + + + Default initializer + + + Text used when presenting ENUM to user + + + + The different types of grid assets + + + + Unknown asset type + + + Texture asset, stores in JPEG2000 J2C stream format + + + Sound asset + + + Calling card for another avatar + + + Link to a location in world + + + Collection of textures and parameters that can be + worn by an avatar + + + Primitive that can contain textures, sounds, + scripts and more + + + Notecard asset + + + Holds a collection of inventory items + + + Root inventory folder + + + Linden scripting language script + + + LSO bytecode for a script + + + Uncompressed TGA texture + + + Collection of textures and shape parameters that can + be worn + + + Trash folder + + + Snapshot folder + + + Lost and found folder + + + Uncompressed sound + + + Uncompressed TGA non-square image, not to be used as a + texture + + + Compressed JPEG non-square image, not to be used as a + texture + + + Animation + + + Sequence of animations, sounds, chat, and pauses + + + Simstate file + + + Contains landmarks for favorites + + + Asset is a link to another inventory item + + + Asset is a link to another inventory folder + + + Beginning of the range reserved for ensembles + + + End of the range reserved for ensembles + + + Folder containing inventory links to wearables and attachments + that are part of the current outfit + + + Folder containing inventory items or links to + inventory items of wearables and attachments + together make a full outfit + + + Root folder for the folders of type OutfitFolder + + + Linden mesh format + + + Marketplace direct delivery inbox ("Received Items") + + + Marketplace direct delivery outbox + + + + + + + Inventory Item Types, eg Script, Notecard, Folder, etc + + + + Unknown + + + Texture + + + Sound + + + Calling Card + + + Landmark + + + Notecard + + + + + + Folder + + + + + + an LSL Script + + + + + + + + + + + + + + + + + + + + + + Item Sale Status + + + + Not for sale + + + The original is for sale + + + Copies are for sale + + + The contents of the object are for sale + + + + Types of wearable assets + + + + Body shape + + + Skin textures and attributes + + + Hair + + + Eyes + + + Shirt + + + Pants + + + Shoes + + + Socks + + + Jacket + + + Gloves + + + Undershirt + + + Underpants + + + Skirt + + + Alpha mask to hide parts of the avatar + + + Tattoo + + + Physics + + + Invalid wearable asset + + + + Same as Queue except Dequeue function blocks until there is an object to return. + Note: This class does not need to be synchronized + + + + + Create new BlockingQueue. + + The System.Collections.ICollection to copy elements from + + + + Create new BlockingQueue. + + The initial number of elements that the queue can contain + + + + Create new BlockingQueue. + + + + + BlockingQueue Destructor (Close queue, resume any waiting thread). + + + + + Remove all objects from the Queue. + + + + + Remove all objects from the Queue, resume all dequeue threads. + + + + + Removes and returns the object at the beginning of the Queue. + + Object in queue. + + + + Removes and returns the object at the beginning of the Queue. + + time to wait before returning + Object in queue. + + + + Removes and returns the object at the beginning of the Queue. + + time to wait before returning (in milliseconds) + Object in queue. + + + + Adds an object to the end of the Queue + + Object to put in queue + + + + Open Queue. + + + + + Gets flag indicating if queue has been closed. + + diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 6cc4c5acce082a620bccf0ae11ded922864d04a7..5add2f183e101a696766c52c99485b7b8b369bd6 100755 GIT binary patch literal 110592 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≪73vM4w4b&@D?%u($X&w(UDG?zX)ClS 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 W6ahs*5l{pa0YyL&Pz3&U1bzYny=gZ9 From a1c7304a62a4a42d68a3f7a4de1770689a3b6b4c Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Wed, 12 Nov 2014 07:12:27 +0100 Subject: [PATCH 3/3] Increase wearablecache size to 32 --- OpenSim/Framework/WearableCacheItem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Framework/WearableCacheItem.cs b/OpenSim/Framework/WearableCacheItem.cs index 1aecf79695..2b9437481d 100644 --- a/OpenSim/Framework/WearableCacheItem.cs +++ b/OpenSim/Framework/WearableCacheItem.cs @@ -43,7 +43,7 @@ namespace OpenSim.Framework public static WearableCacheItem[] GetDefaultCacheItem() { - int itemmax = 21; + int itemmax = 32; WearableCacheItem[] retitems = new WearableCacheItem[itemmax]; for (uint i=0;i